:root{--bg:#f3f6fb;--surface:#fff;--text:#112031;--muted:#5b6977;--primary:#0f5cc0;--primary-dark:#0b428b;--border:#d6dfe8;--danger:#b00020;--shadow:0 18px 40px -24px #17325366;--radius:14px}*{box-sizing:border-box}body{background:radial-gradient(circle at top right, #dce9fb 0%, var(--bg) 40%);min-height:100vh;color:var(--text);margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}h1,h2,h3,h4,p{margin:0}#app{min-height:100vh}.auth-shell{place-items:center;width:min(980px,100%);min-height:100vh;margin:0 auto;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(460px,100%);box-shadow:var(--shadow);padding:32px}.kicker{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:12px;font-weight:700}.auth-card h1{margin-bottom:8px;font-size:32px}.intro{color:var(--muted);margin-bottom:24px}.auth-form{gap:16px;display:grid}.field{gap:8px;display:grid}.field span{font-size:14px;font-weight:600}.field input{border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;padding:11px 12px;font-size:15px}.field input:focus{border-color:var(--primary);outline:2px solid #0f5cc033}.error-text{color:var(--danger);font-size:14px}.btn-primary,.btn-secondary{cursor:pointer;border:0;border-radius:10px;padding:11px 14px;font-weight:700}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.75;cursor:not-allowed}.btn-secondary{color:var(--primary);background:#e9f1fd}.btn-danger{cursor:pointer;color:#fff;background:#b52231;border:0;border-radius:10px;padding:11px 14px;font-weight:700}.btn-danger:hover{background:#8f1c27}.btn-danger:disabled{opacity:.75;cursor:not-allowed}.main-app-shell{grid-template-columns:280px minmax(0,1fr);gap:0;width:100%;height:100vh;min-height:100vh;margin:0;padding:0;display:grid}.main-app-menu,.content-header,.content-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.main-app-menu{box-shadow:none;border-top:0;border-bottom:0;border-left:0;border-radius:0;flex-direction:column;gap:18px;padding:24px 20px;display:flex}.menu-title{margin-bottom:4px;font-size:30px}.menu-subtitle{color:var(--muted);font-size:14px}.menu-list{gap:8px;display:grid}.menu-item{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-weight:600;display:flex}.menu-item:hover{border-color:var(--border);background:#f7faff}.menu-item.active{color:var(--primary);background:#eaf2ff;border-color:#bfd7fb}.menu-item-icon{flex-shrink:0;width:18px;height:18px}.menu-logout{margin-top:auto}.main-app-content{flex-direction:column;gap:14px;min-width:0;height:100%;min-height:0;padding:24px;display:flex}.content-header{padding:20px}.content-header h2{margin-bottom:6px;font-size:28px}.content-header p{color:var(--muted)}.content-body{flex:1;min-height:0;padding:20px;overflow:auto}.content-switch-enter-active,.content-switch-leave-active{will-change:opacity, transform;transition:opacity .24s,transform .24s cubic-bezier(.22,1,.36,1)}.content-switch-enter-from{opacity:0;transform:translateY(16px)}.content-switch-enter-to,.content-switch-leave-from{opacity:1;transform:translateY(0)}.content-switch-leave-to{opacity:0;transform:translateY(16px)}.content-card h3{margin-bottom:8px;font-size:22px}.content-card p{color:var(--muted);margin-bottom:18px}.backend-status{border-radius:999px;margin-bottom:18px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-block}.backend-status.pending{color:#7a5d00;background:#fff7da}.backend-status.ok{color:#1d6f31;background:#e5f8e9}.backend-status.error{color:brown;background:#feeceb}.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.tile{background:#f7faff;border:1px solid #e3ecf9;border-radius:12px;padding:14px}.tile span{color:var(--muted);margin-bottom:8px;font-size:13px;display:block}.tile strong{font-size:24px}.simple-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.simple-list li{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.simple-list span{font-weight:600}.simple-list small{color:var(--muted)}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-grid label{gap:8px;display:grid}.settings-grid span{font-size:13px;font-weight:600}.settings-grid input{border:1px solid var(--border);width:100%;color:var(--muted);background:#f9fbfe;border-radius:10px;padding:11px 12px}.notes-layout p{white-space:pre-wrap}.dashboard-logs-layout p,.appmenu-layout p{white-space:normal}.appmenu-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.appmenu-actions{align-items:center;gap:10px;display:flex}.appmenu-table-shell{gap:10px;display:grid}.appmenu-table-toolbar{justify-content:flex-end;display:flex}.appmenu-paging-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.appmenu-rows-label{letter-spacing:.03em;color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.appmenu-rows-label select,.appmenu-page-nav select{border:1px solid var(--border);color:var(--text);font:inherit;background:#fff;border-radius:8px;min-width:70px;padding:6px 8px}.appmenu-page-nav{align-items:center;gap:6px;display:inline-flex}.appmenu-page-nav button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;min-width:34px;padding:6px 8px;font-weight:700}.appmenu-page-nav button:disabled{opacity:.5;cursor:not-allowed}.appmenu-total-records{color:var(--muted);font-size:13px;font-weight:600}.appmenu-table{table-layout:fixed}.appmenu-table th,.appmenu-table td{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.appmenu-header-cell{position:relative;padding-right:22px!important}.appmenu-sort-btn{width:100%;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;text-transform:inherit;letter-spacing:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:0;display:flex}.appmenu-sort-indicator{opacity:.75;flex-shrink:0;font-size:11px}.appmenu-resize-handle{cursor:col-resize;z-index:2;width:9px;position:absolute;top:0;bottom:0;right:0}.appmenu-resize-handle:after{content:"";background:#d2dbe5;width:1px;position:absolute;top:6px;bottom:6px;left:4px}.appmenu-table .appmenu-row{cursor:pointer}.appmenu-table .appmenu-row:hover td{background:#f7faff}.appmenu-table .appmenu-row:focus-visible{outline-offset:-2px;outline:2px solid #0f5cc059}.appmenu-tray-backdrop{z-index:1100;background:#0a122173;justify-content:flex-end;display:flex;position:fixed;inset:0}.appmenu-tray{border-left:1px solid var(--border);background:#fff;width:min(860px,100%);height:100%;box-shadow:-18px 0 42px -26px #0c192b99}.appmenu-tray-shell{flex-direction:column;height:100%;display:flex}.appmenu-tray-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.appmenu-tray-header h4{margin-bottom:6px}.appmenu-tray-header p{margin-bottom:0}.appmenu-tray-close{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;padding:8px 12px;font-weight:600}.appmenu-tray-close:hover{background:#f7faff}.appmenu-tray-content{flex:1;padding:16px 20px;overflow:auto}.appmenu-tray-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.appmenu-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.appmenu-field{gap:8px;display:grid}.appmenu-field span{font-size:13px;font-weight:600}.appmenu-field small{color:var(--danger)}.appmenu-field input,.appmenu-field select,.appmenu-field textarea{border:1px solid var(--border);width:100%;font:inherit;color:var(--text);background:#fff;border-radius:10px;padding:10px 12px}.appmenu-field textarea{resize:vertical;min-height:95px}.appmenu-field-full{grid-column:1/-1}.appmenu-tray-enter-active,.appmenu-tray-leave-active{transition:background-color .24s}.appmenu-tray-enter-active .appmenu-tray,.appmenu-tray-leave-active .appmenu-tray{transition:transform .26s cubic-bezier(.22,1,.36,1)}.appmenu-tray-enter-from,.appmenu-tray-leave-to{background:#0a122100}.appmenu-tray-enter-from .appmenu-tray,.appmenu-tray-leave-to .appmenu-tray{transform:translate(100%)}.appmenu-tray-enter-to .appmenu-tray,.appmenu-tray-leave-from .appmenu-tray{transform:translate(0)}.dashboard-logs-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.dashboard-logs-actions{justify-items:end;gap:8px;display:grid}.dashboard-logs-actions small{color:var(--muted)}.dashboard-logs-table-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto}.dashboard-logs-table{border-collapse:collapse;width:100%;min-width:760px}.dashboard-logs-table th,.dashboard-logs-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:14px}.dashboard-logs-table th{text-transform:uppercase;letter-spacing:.04em;background:#f7faff;font-size:12px}.dashboard-logs-table tbody tr:last-child td{border-bottom:0}.notes-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.notes-field{gap:8px;display:grid}.notes-field span{font-size:13px;font-weight:600}.notes-field input,.notes-field textarea{border:1px solid var(--border);width:100%;font:inherit;border-radius:10px;padding:10px 12px}.notes-field textarea{resize:vertical;min-height:90px}.notes-field-full{grid-column:1/-1}.form-error{color:var(--danger);grid-column:1/-1;margin-bottom:0}.notes-submit{grid-column:1/-1;width:max-content}.notes-list-wrap{border-top:1px solid var(--border);padding-top:16px}.notes-list-wrap h4{margin-bottom:12px;font-size:16px}.notes-state{color:var(--muted);margin:0}.notes-error{color:var(--danger)}.notes-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.note-item{border:1px solid var(--border);border-radius:12px;padding:12px}.note-top{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.note-top strong{font-size:16px}.note-top small,.note-author{color:var(--muted)}.note-item p{margin-bottom:8px}.note-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.note-delete-btn{color:#8e1e2a;cursor:pointer;background:#fff5f6;border:1px solid #ecc5ca;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.note-delete-btn:hover{background:#ffe9ec}.confirm-dialog-backdrop{z-index:1000;background:#0a122180;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--border);background:#fff;border-radius:14px;width:min(440px,100%);padding:20px;box-shadow:0 24px 48px -24px #0c192b80}.confirm-dialog h4{margin-bottom:8px;font-size:21px}.confirm-dialog p{color:var(--muted);margin-bottom:14px}.confirm-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.dialog-fade-enter-active,.dialog-fade-leave-active{transition:opacity .18s}.dialog-fade-enter-from,.dialog-fade-leave-to{opacity:0}.dialog-pop-enter-active,.dialog-pop-leave-active{transition:opacity .22s,transform .22s cubic-bezier(.22,1,.36,1)}.dialog-pop-enter-from{opacity:0;transform:translateY(14px)scale(.98)}.dialog-pop-enter-to,.dialog-pop-leave-from{opacity:1;transform:translateY(0)scale(1)}.dialog-pop-leave-to{opacity:0;transform:translateY(10px)scale(.98)}@media (width<=960px){.main-app-shell{grid-template-columns:1fr;gap:14px;height:auto;min-height:auto;padding:16px}.menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-logout{width:max-content;margin-top:0}.tile-grid,.settings-grid,.notes-form{grid-template-columns:1fr}.appmenu-head{flex-direction:column}.appmenu-actions{width:100%}.appmenu-table-toolbar,.appmenu-paging-controls{justify-content:flex-start}.appmenu-form{grid-template-columns:1fr}.appmenu-tray{width:100%}.dashboard-logs-head{flex-direction:column}.dashboard-logs-actions{justify-items:start}.main-app-menu{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.main-app-content{height:auto;min-height:auto;padding:0}}@media (width<=768px){.content-header h2,.menu-title{font-size:24px}.menu-list{grid-template-columns:1fr}.auth-card{padding:24px}}@media (width<=430px){.auth-shell{padding:16px}.auth-card{padding:20px}}
