:root{--primary: #0f5fff;--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--text: #1e293b;--muted: #64748b;--danger: #ef4444;--success: #10b981;--warning: #f59e0b}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}.layout{display:flex;flex-direction:column;height:100vh}header{height:60px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px}.brand{font-weight:700;font-size:1.2rem;color:var(--primary)}.header-controls{display:flex;align-items:center;gap:16px}.user-info{font-size:.9rem;color:var(--text);font-weight:500}.help-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.2rem;padding:4px;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center}.help-btn:hover{background-color:#f1f5f9;color:var(--primary)}.btn-logout{background-color:#fee2e2;color:var(--danger);border:1px solid #fecaca;padding:6px 12px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-logout:hover{background-color:#fecaca}.main-container{flex:1;display:flex;overflow:hidden}aside{width:240px;background:var(--surface);border-right:1px solid var(--border);padding:24px 12px;display:flex;flex-direction:column;gap:8px}aside button{all:unset;padding:12px;border-radius:8px;cursor:pointer;font-weight:500;color:var(--muted);transition:all .2s}aside button:hover{background:#f1f5f9;color:var(--text)}aside button.active{background:#eff6ff;color:var(--primary)}main{flex:1;padding:32px;overflow-y:auto}h2{margin-top:0}.card{background:var(--surface);padding:24px;border-radius:12px;border:1px solid var(--border);box-shadow:0 1px 3px #0000000d}.card-hover{transition:transform .2s,background-color .2s;cursor:pointer}.card-hover:hover{background-color:#f1f5f9;transform:translateY(-2px)}button.btn-primary{background:var(--primary);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer}button.btn-primary:hover{opacity:.9}input,select{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;margin-bottom:16px;box-sizing:border-box}table{width:100%;border-collapse:collapse}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:.9rem}tbody tr:hover{background-color:#f1f5f9;cursor:pointer}.toast{position:fixed;top:24px;left:50%;transform:translate(-50%,-150%);padding:12px 24px;border-radius:8px;background:var(--surface);box-shadow:0 4px 12px #0000001a;border-left:4px solid var(--primary);opacity:0;transition:all .3s;z-index:2000}.toast.show{transform:translate(-50%);opacity:1}.toast.error{border-left-color:var(--danger)}.toast.success{border-left-color:var(--success)}.toast.hidden{display:none}.tooltip-container{position:relative;display:inline-block;vertical-align:middle;margin-left:8px;cursor:help}.tooltip-icon{width:16px;height:16px;opacity:.7;transition:opacity .2s}.tooltip-container:hover .tooltip-icon{opacity:1}.tooltip-text{visibility:hidden;width:200px;background-color:#1e293b;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:1001;bottom:125%;left:50%;margin-left:-100px;opacity:0;transition:opacity .3s;font-size:.75rem;font-weight:400;line-height:1.4;pointer-events:none}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#1e293b transparent transparent transparent}.pagination{display:flex;justify-content:center;align-items:center;margin-top:24px;gap:8px}.page-btn{padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-weight:500;cursor:pointer;transition:all .2s}.page-btn:hover:not(:disabled){background:#f1f5f9;border-color:var(--muted)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--bg)}.login-card{width:100%;max-width:400px;background:var(--surface);padding:40px;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;text-align:center}.login-header{margin-bottom:32px}.login-header h1{font-size:1.8rem;color:var(--primary);margin:0;display:flex;align-items:center;justify-content:center;gap:12px}.login-form{display:flex;flex-direction:column;gap:16px}.login-form input{padding:12px;font-size:1rem}.login-form button{padding:12px;font-size:1rem;margin-top:8px}
