@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--bg:#f7f6f3;--surface:#fff;--surface2:#f0efe9;--border:#e2e0d8;--border2:#cccac0;--text:#1a1916;--text2:#6b6860;--text3:#9e9c97;--accent:#1a3a5c;--accent-light:#e8f0f8;--accent-mid:#2a5298;--gold:#c9924a;--gold-light:#f5e6d3;--gold-dark:#a67335;--green:#1a5c3a;--green-light:#e8f4ee;--warn:#854f0b;--warn-light:#faeeda;--danger:#a32d2d;--danger-light:#fcebeb;--radius:10px;--radius-sm:6px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}.app-layout{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;height:100vh;display:flex;position:fixed}.main-content{flex:1;min-height:100vh;margin-left:220px}.sidebar-logo{border-bottom:1px solid var(--border);padding:20px 16px 14px}.sidebar-logo h1{color:var(--gold);letter-spacing:-.5px;font-size:18px;font-weight:700}.sidebar-logo p{color:var(--text3);margin-top:2px;font-size:11px}.sidebar-nav{flex:1;padding:8px;overflow-y:auto}.nav-section{color:var(--text3);text-transform:uppercase;letter-spacing:.8px;padding:12px 10px 4px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text2);text-align:left;background:0 0;border:none;align-items:center;gap:9px;width:100%;margin-bottom:2px;padding:8px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--accent-light);color:var(--accent)}.nav-icon{text-align:center;width:20px;font-size:16px}.sidebar-footer{border-top:1px solid var(--border);padding:12px 16px}.sidebar-user{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;font-size:12px;overflow:hidden}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 28px 0;display:flex}.page-title{letter-spacing:-.4px;font-size:20px;font-weight:600}.page-sub{color:var(--text2);margin-top:3px;font-size:13px}.page-content{padding:20px 28px 48px}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-mid)}.btn-ghost{color:var(--text2);border-color:var(--border2);background:0 0}.btn-ghost:hover{background:var(--surface2);color:var(--text)}.btn-danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn-danger:hover{background:var(--danger-light)}.btn-green{background:var(--green);color:#fff;border-color:var(--green)}.btn-green:hover{background:#1e6b43}.btn-sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat{background:var(--surface2);border-radius:var(--radius-sm);padding:14px 16px}.stat-label{color:var(--text3);margin-bottom:4px;font-size:11px;font-weight:500}.stat-value{color:var(--text);letter-spacing:-.5px;font-size:24px;font-weight:600}.stat-sub{color:var(--text2);margin-top:3px;font-size:11px}.form-group{margin-bottom:14px}.form-group label{color:var(--text2);margin-bottom:5px;font-size:12px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border2);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--surface);padding:8px 11px;font-family:inherit;font-size:13px;transition:border .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);outline:none}.form-group textarea{resize:vertical;min-height:80px;line-height:1.5}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}.form-error{color:var(--danger);margin-top:4px;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border);color:var(--text);padding:11px 14px;font-size:13px}tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface2)}.badge{border-radius:20px;align-items:center;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-green{background:var(--green-light);color:var(--green)}.badge-gray{background:var(--surface2);color:var(--text2)}.badge-warn{background:var(--warn-light);color:var(--warn)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-blue{background:var(--accent-light);color:var(--accent)}.modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:520px;max-height:90vh;padding:24px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title{font-size:16px;font-weight:600}.modal-close{cursor:pointer;color:var(--text3);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px;line-height:1}.modal-close:hover{background:var(--surface2);color:var(--text)}.progress-wrap{background:var(--border);border-radius:4px;height:6px;overflow:hidden}.progress-bar{background:var(--green);border-radius:4px;height:100%;transition:width .3s}.empty{text-align:center;color:var(--text3);padding:48px 24px}.empty-icon{margin-bottom:14px;font-size:40px}.empty p{color:var(--text2);font-size:14px}.empty .hint{margin-top:6px;font-size:12px}.auth-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;padding:32px}.auth-logo{text-align:center;margin-bottom:28px}.auth-logo h1{color:var(--gold);letter-spacing:-.5px;font-size:28px;font-weight:700}.auth-logo p{color:var(--text2);margin-top:4px;font-size:13px}.auth-tabs{border-bottom:1px solid var(--border);margin-bottom:24px;display:flex}.auth-tab{text-align:center;cursor:pointer;color:var(--text2);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:8px;font-size:13px;font-weight:500;transition:all .15s}.auth-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.auth-modo-toggle{gap:8px;margin-bottom:20px;display:flex}.auth-modo-btn{border:2px solid var(--border);background:var(--surface);color:var(--text2);cursor:pointer;border-radius:8px;flex:1;padding:10px 8px;font-size:13px;font-weight:500;transition:all .2s}.auth-modo-btn.active{border-color:var(--accent);background:var(--accent);color:#fff}.auth-modo-btn:hover:not(.active){border-color:var(--gold);color:var(--gold)}.toast{color:#fff;z-index:999;opacity:0;pointer-events:none;white-space:nowrap;background:#1a1916;border-radius:8px;padding:10px 20px;font-size:13px;transition:opacity .3s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.loader{color:var(--text3);justify-content:center;align-items:center;gap:8px;padding:48px;font-size:13px;display:flex}.tag-edif{background:var(--accent-light);color:var(--accent);border-radius:10px;padding:2px 7px;font-size:10px;font-weight:500;display:inline-block}hr{border:none;border-top:1px solid var(--border);margin:20px 0}@media (width<=768px){.sidebar{display:none}.main-content{margin-left:0}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr}.page-header,.page-content{padding-left:16px;padding-right:16px}}@media (width<=480px){.grid-2,.grid-3,.grid-4,.form-row{grid-template-columns:1fr}}
