.login{box-sizing:border-box;background:#fff;width:100%;height:100vh;padding-bottom:30%;display:flex}.login .login_centered{background:#fff;border-radius:12px;flex-direction:column;align-items:center;width:360px;margin:auto;padding:30px;display:flex;position:relative}.login .login_logo{margin-bottom:20px;display:flex;position:relative}.login .login_logo img{border-radius:8px;width:300px}.login .login_logo .logo_overlay{color:#fff;background:#00000080;border-radius:6px;padding:4px 10px;font-size:18px;font-weight:700;position:absolute;top:10px;left:10px}.login .login_mode{border:1px solid #ddd;border-radius:6px;width:100%;margin-bottom:24px;display:flex;overflow:hidden}.login .login_mode button{cursor:pointer;background:#fff;border:none;flex:1;padding:12px;font-size:15px;transition:all .2s}.login .login_mode button.active{color:#fff;background:#111;font-weight:600}.login .login_mode button:hover:not(.active){background:#f5f5f5}.login .login_form{flex-direction:column;gap:18px;width:100%;display:flex}.login .login_field{flex-direction:column;display:flex}.login .login_field_title{color:#4d4d4d;-webkit-user-select:none;user-select:none;margin-bottom:6px;font-size:14px}.login input{border:1px solid #ddd;border-radius:6px;padding:10px;font-size:14px;transition:all .2s}.login input:focus{border-color:#ff9f0a;outline:none;box-shadow:0 0 0 1px #ff9f0a33}.login .login_button{color:#fff;cursor:pointer;background:#ff9f0a;border:none;border-radius:6px;width:100%;height:48px;font-size:18px;font-weight:700;transition:all .2s}.login .login_button:hover{background:#ea8a00}.login .login_warning{color:#ff9f0a;font-size:12px;position:absolute;bottom:8px}.confirm-modal-overlay{z-index:9999;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal{background:#fff;border-radius:14px;width:380px;padding:26px;animation:.15s modal-pop;box-shadow:0 12px 35px #0000002e}.confirm-modal-title{margin:0 0 14px;font-size:20px;font-weight:600}.confirm-modal-message{color:#555;white-space:pre-line;margin:0 0 24px;font-size:15px;line-height:1.6}.confirm-modal-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.confirm-modal-btn{all:unset;cursor:pointer;box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;min-width:90px;height:40px;padding:0 16px;font-size:14px;font-weight:500;transition:background .15s,transform .1s;display:flex}.confirm-modal-btn.cancel{color:#444;background:#f1f3f5}.confirm-modal-btn.cancel:hover{background:#e2e6ea}.confirm-modal-btn.confirm{color:#fff;background:#ff9f0a}.confirm-modal-btn.confirm:hover{background:#ff9f0a}.confirm-modal-btn:active{transform:scale(.96)}.admin{flex-direction:column;height:100vh;display:flex;overflow:hidden}.admin__body{flex:1;display:flex;overflow:hidden}.header{background:#fff;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.header .header_left{font-size:16px;font-weight:600}.header .header_right{align-items:center;gap:16px;display:flex}.header .header_role{color:#f90;border:1px solid #f90;border-radius:6px;padding:4px 10px;font-size:14px;font-weight:600}.header .header_link{cursor:pointer;color:#333;background:0 0;border:none;font-size:14px}.header .header_link:hover{text-decoration:underline}.sidebar{color:#fff;background:#4a4a4a;width:260px;padding:28px 20px}.sidebar__title{opacity:.85;margin-bottom:24px;font-size:20px;font-weight:600}.sidebar__item{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;font-size:16px;transition:background .2s;display:flex}.sidebar__item+.sidebar__item{margin-top:8px}.sidebar__item:hover{background:#5a5a5a}.sidebar__icon{width:20px;height:20px}.admin__content{background:#f1f5f9;flex:1;min-height:0;padding:24px;overflow-y:auto}.header__left,.header__right{align-items:center;display:flex}.logo{height:60px;margin-right:10px}.tree-node{color:#1f2937;font-size:17px}.tree-line{border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;padding:7px 10px;transition:background .15s;display:flex}.tree-line:hover{background:#f8fafc}.toggle{cursor:pointer;color:#6b7280;width:16px;font-size:11px}.toggle-placeholder{width:16px}.icon{opacity:.9;width:18px}.name{color:#111827;margin-right:12px;font-size:18px;font-weight:600}.meta{color:#374151;background:#f1f5f9;border-radius:5px;padding:3px 7px;font-size:14px;font-weight:500}.children{border-left:1px dashed #cbd5e1;margin-left:28px;padding-left:16px}.submit-btn,.cancel-btn,.delete-btn{color:#fff;cursor:pointer;background:#4a4a4a;border:none;border-radius:8px;width:140px;height:42px;margin-top:30px;font-weight:600;transition:all .2s}.dashboard{padding:28px}.dashboard-title{margin-bottom:24px;font-size:26px;font-weight:700}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.stat-card{text-align:center;background:#fff;border:1px solid #eee;border-radius:10px;padding:18px}.stat-card h4{color:#777;margin-bottom:6px;font-size:14px}.stat-card p{font-size:28px;font-weight:700}.dashboard-table{background:#fff;border:1px solid #eee;border-radius:10px;padding:20px}.dashboard-table table{border-collapse:collapse;width:100%}.dashboard-table th{text-align:left;border-bottom:1px solid #eee;padding:10px}.dashboard-table td{border-bottom:1px solid #f2f2f2;padding:10px}.dashboard-table tr{cursor:pointer}.dashboard-table tr:hover{background:#f8fafc}.add-user-wrapper{background:#fff;border-radius:12px;max-width:600px;margin:0 auto;padding:40px;box-shadow:0 8px 24px #0000000f}.add-user-title{margin-bottom:30px;font-size:22px;font-weight:700}.role-select{gap:20px;margin-bottom:30px;display:flex}.form-group{flex-direction:column;margin-bottom:20px;display:flex}.form-group label{margin-bottom:8px;font-size:14px;font-weight:600}.form-group input,.form-group select{border:1px solid #ddd;border-radius:8px;height:42px;padding:0 12px;font-size:14px;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:#4a4a4a;outline:none}.submit-btn,.cancel-btn,.delete-btn{color:#fff;cursor:pointer;background:#4a4a4a;border:none;border-radius:8px;width:140px;height:42px;margin-top:30px;font-weight:600;transition:all .2s}.submit-btn:hover{background:#333}.form-actions{gap:12px;margin-top:24px;display:flex}.cancel-btn:hover{background:#333}.delete-btn{color:#fff;background:#dc2626;margin-left:auto}.account-management{width:100%}.search-bar{gap:10px;margin-bottom:12px;display:flex}.search-input{border:1px solid #ddd;border-radius:6px;flex:1;padding:6px 10px;font-size:14px}.search-select{border:1px solid #ddd;border-radius:6px;padding:6px 10px;font-size:14px}.tree-wrapper{border:1px solid #eee;border-radius:6px;padding:8px}
