body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#f9f9f9;--surface-page:#f9f9f9;--surface:#fff;--surface-muted:#f8f9fa;--row-alt:#fdfdfd;--row-hover:#eef5fb;--text:#333;--text-muted:#555;--text-faint:#777;--border:#ddd;--border-strong:#ccc;--input-border:#ccc;--primary-bg:#12294a;--primary-hover:#0b1c35;--primary-text:#fff;--head-bg:#12294a;--head-text:#fff;--accent:#0b7a96;--accent-soft:#0b7a9640;--shadow:#0000001a;--overlay:#00000080;--cal-unselected:#50a4f41a;--cal-hovered:#4faff933;--cal-selected:#599af2;--ease-drawer:cubic-bezier(.32, .72, 0, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body.dark-mode{--bg:#0f0f11;--surface-page:#18181b;--surface:#222226;--surface-muted:#2b2b30;--row-alt:#1e1e21;--row-hover:#263340;--text:#ececef;--text-muted:#b4b4bc;--text-faint:#8e8e98;--border:#38383f;--border-strong:#4a4a52;--input-border:#4a4a52;--primary-bg:#00b8d9;--primary-hover:#33c9e3;--primary-text:#06222c;--head-bg:#16365e;--head-text:#fff;--accent:#33d6f0;--accent-soft:#33d6f059;--shadow:#00000080;--overlay:#000000b3;--cal-unselected:#ffffff0f;--cal-hovered:#4d9bff4d;--cal-selected:#4d9bffe6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){.table-container,.calendar-container,.sidebar-container,.sidebar-toggle,.modal-overlay,.modal-container,.admin-panel{transition:none!important;animation:none!important}}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;line-height:1.3;transition:transform .12s ease-out,background-color .15s,border-color .15s,box-shadow .15s;display:inline-block}.btn-sm{padding:4px 10px;font-size:13px}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.6;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.table td,.data-table td{font-variant-numeric:tabular-nums}.App{text-align:center}.header{color:#fff;background-color:#2c3e50;justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.header .logo img{height:40px;margin-right:10px}.header nav ul{gap:15px;list-style:none;display:flex}.header nav ul li a{color:#fff;font-weight:700;text-decoration:none}.header nav ul li a:hover{text-decoration:underline}.footer{text-align:center;color:#fff;background-color:#2c3e50;width:100%;padding:10px;position:fixed;bottom:0}.content{margin-bottom:50px;padding:20px}body{background-color:var(--bg);color:var(--text);transition:background .3s ease-in-out,color .3s ease-in-out}.header{background-color:var(--surface);color:var(--text);border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;padding:15px 20px;transition:background .3s,color .3s;display:flex}.header .logo{align-items:center;display:flex}.header .logo img{width:auto;height:40px}body.dark-mode .header .logo img{background:#fff;border-radius:8px;padding:3px 8px}.header nav ul{gap:15px;padding:0;list-style:none;display:flex}.header nav ul li{display:inline}.header nav ul li a{color:var(--text);font-weight:700;text-decoration:none;transition:color .3s}.header nav ul li a:hover{color:var(--accent)}.right-section{align-items:center;gap:10px;display:flex}.admin-toggle{cursor:pointer;color:#fff;opacity:.7;background-color:#6c757d;border:none;border-radius:5px;padding:8px 12px;font-size:16px;transition:background-color .3s,color .3s,opacity .3s,transform .3s}.admin-toggle:hover{opacity:1;background-color:#5a6268;transform:scale(1.05)}.dark-mode-toggle{cursor:pointer;background-color:var(--primary-bg);color:var(--primary-text);border:none;border-radius:5px;padding:8px 12px;font-weight:700;transition:background .3s}.dark-mode-toggle:hover{background-color:var(--primary-hover)}.file-info{font-size:10px}.demo-banner{color:#78350f;text-align:center;background:#fef3c7;padding:6px 12px;font-size:14px}.demo-tour-start{color:#78350f;cursor:pointer;background:0 0;border:1px solid #78350f;border-radius:4px;margin-left:12px;padding:2px 10px;font-size:13px}.tour-tip{z-index:2000;max-width:min(320px,90vw);font-size:14px;line-height:1.4}.tour-actions{justify-content:flex-end;align-items:center;gap:6px;margin-top:10px;display:flex}.tour-actions button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff;border-radius:4px;padding:2px 10px;font-size:13px}.tour-actions .tour-primary{color:#222;background:#fff}.tour-count{opacity:.8;margin-right:auto;font-size:12px}[data-tour]{scroll-margin-top:170px}.logout-button{border:1px solid var(--input-border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:5px;padding:8px 12px}.logout-button:hover{background:var(--surface-muted)}@media (width>=769px){.header nav ul li a.active{color:var(--accent);box-shadow:0 2px 0 var(--accent);padding-bottom:4px}}.admin-panel-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-panel{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;animation:.3s ease-out slideIn;overflow-y:auto;box-shadow:0 10px 30px #0000004d}@keyframes slideIn{0%{transform:translateY(-20px)}to{transform:translateY(0)}}.admin-panel-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:20px;display:flex}.admin-panel-header h2{margin:0;font-size:1.5rem;font-weight:600}.close-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:5px 10px;font-size:1.5rem;transition:background-color .2s}.close-btn:hover{background-color:#fff3}.admin-panel-content{padding:20px}.admin-message{border-radius:6px;margin-bottom:20px;padding:12px;font-weight:500;animation:.3s ease-in fadeIn}.admin-message.success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.admin-message.error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-section{margin-bottom:30px}.admin-section h3{color:#333;border-bottom:2px solid #f0f0f0;margin:0 0 15px;padding-bottom:8px;font-size:1.2rem;font-weight:600}.admin-buttons{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.admin-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 16px;font-size:.9rem;font-weight:500;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s;display:flex}a.admin-btn{text-decoration:none}.admin-btn:disabled{opacity:.6;cursor:not-allowed}.clear-btn{color:#fff;background:linear-gradient(135deg,#f44336,#d32f2f);box-shadow:0 2px 4px #f443364d}.clear-btn:hover:not(:disabled){background:linear-gradient(135deg,#d32f2f,#b71c1c);transform:translateY(-1px);box-shadow:0 4px 8px #f4433666}.upload-btn{color:#fff;background:linear-gradient(135deg,#2196f3,#1976d2);box-shadow:0 2px 4px #2196f34d}.upload-btn:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);transform:translateY(-1px);box-shadow:0 4px 8px #2196f366}.file-upload-section{flex-direction:column;gap:15px;display:flex}.file-input-wrapper{display:inline-block;position:relative}.file-input{opacity:0;position:absolute;left:-9999px}.file-input-label{color:#495057;cursor:pointer;text-align:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #6c757d;border-radius:8px;min-width:200px;padding:12px 20px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s;display:inline-block}.file-input-label:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);border-color:#495057;transform:translateY(-1px)}.file-validation{border-radius:6px;padding:8px 12px;font-size:.9rem;font-weight:500;animation:.3s ease-in fadeIn}.file-validation.success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.file-validation.error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.file-info{color:#495057;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:10px 12px;font-size:.9rem}.sync-type-selection{flex-direction:column;gap:8px;margin:15px 0;display:flex}.sync-type-label{color:#495057;margin-bottom:5px;font-size:.9rem}.sync-type-select{color:#495057;cursor:pointer;background-color:#fff;border:2px solid #dee2e6;border-radius:6px;min-width:250px;padding:10px 12px;font-size:.9rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}.sync-type-select:focus{border-color:#2196f3;outline:none;box-shadow:0 0 0 3px #2196f31a}.sync-type-select:disabled{opacity:.6;cursor:not-allowed;background-color:#f8f9fa}.dark-mode .admin-panel{color:#e2e8f0;background:#2d3748}.dark-mode .admin-panel-header{background:linear-gradient(135deg,#4a5568 0%,#2d3748 100%)}.dark-mode .admin-section h3{color:#e2e8f0;border-bottom-color:#4a5568}@media (width<=768px){.admin-panel{width:95%;margin:10px}.admin-buttons{grid-template-columns:1fr}.admin-panel-header h2{font-size:1.3rem}}.table-container{visibility:hidden;background:var(--surface);width:950px;height:100dvh;box-shadow:-4px 0 12px var(--shadow);transition:transform .35s var(--ease-drawer), visibility 0s linear .35s;border-left:3px solid var(--primary-bg);z-index:1200;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.table-container.slide-in{visibility:visible;transition:transform .35s var(--ease-drawer), visibility 0s;transform:none}.data-table{border-collapse:collapse;width:100%;margin:20px 0;font-size:14px}.data-table th,.data-table td,.table-title{text-align:left;border-bottom:1px solid var(--border);padding:12px 15px}.data-table th,.table-title{background-color:var(--surface-muted);color:var(--text);border-bottom:2px solid var(--border-strong);font-weight:600}.table-container .data-table th{z-index:1;position:sticky;top:0}.data-table td{color:var(--text-muted)}.data-table tr:nth-child(2n){background-color:var(--row-alt)}.data-table tbody tr:hover{background-color:var(--row-hover)}.data-table th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable-header:hover{background-color:var(--border)}.th-content{white-space:nowrap;flex-direction:row;justify-content:center;align-items:center;gap:4px;display:flex}.sort-indicator{color:var(--text-faint);font-size:12px}.table-title{text-align:center}.table-container{max-width:100%;margin:20px auto;overflow-x:auto}.table{background:var(--surface);border-collapse:collapse;width:100%;margin:0}.table-wrap .fixed-cols{min-width:880px}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:20px 0;overflow-x:auto}.table th,.table td{border:0;border-bottom:1px solid var(--border);text-align:center;padding:12px}.table th+th{border-left:1px solid #ffffff24}.table tbody tr:last-child td{border-bottom:0}.table th{background:var(--head-bg);color:#fff;border-bottom:2px solid var(--border-strong);text-transform:uppercase;font-weight:600}.table tr:hover{background-color:var(--row-hover)}.delete-cell-header{width:30px}.delete-cell{text-align:center;opacity:.35;width:30px;transition:opacity .2s}.table-row:hover .delete-cell,.delete-cell:focus-within{opacity:1}.delete-icon{color:#dc3545;cursor:pointer;background:0 0;border:0;padding:6px;font-size:1.2rem;line-height:0}.fixed-cols th,.fixed-cols td{overflow-wrap:anywhere;padding:8px 6px}.fixed-cols .th-content{white-space:normal}@media (width<=768px){table.table-cards,.table-cards tbody,.table-cards tr,.table-cards td{width:auto;max-width:100%;display:block;overflow:visible}.table-cards thead{display:none}.table-cards tr{background:var(--surface);border:1px solid var(--border);box-shadow:0 1px 3px var(--shadow);border-radius:10px;margin-bottom:12px;padding:6px 14px;position:relative}.table-cards.table-bordered td,.table-cards td{border:0;border-bottom:1px solid var(--border);text-align:right;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:8px 0;display:flex}.table-cards td:before{content:attr(data-label);text-align:left;text-transform:uppercase;letter-spacing:.03em;max-width:45%;color:var(--text-muted);flex:none;font-size:12px;font-weight:600}.table-cards td:last-child{border-bottom:0}.table-cards td.delete-cell{opacity:1;border-bottom:0;justify-content:flex-end;min-height:44px}.table-cards .delete-icon{justify-content:center;align-items:center;width:44px;height:44px;margin:-8px -12px -8px 0;display:inline-flex}.table-cards td.delete-cell:before{content:none}.table-cards td input:not([type=checkbox]),.table-cards td select,.table-cards td .cell-stack{box-sizing:border-box;text-align:right;flex:0 0 55%;min-width:0;margin:0}.table-cards td select{border:1px solid var(--input-border);background:var(--surface);min-height:44px;color:var(--text);border-radius:4px;padding:0 8px;font-size:16px}.table-cards td .cell-stack input,.table-cards td .cell-stack select{box-sizing:border-box;width:100%}.table-cards td .cell-stack{flex-direction:column;gap:6px;display:flex}.table-cards td .form-check{flex:1;justify-content:flex-end}.table-cards td input[type=checkbox]{width:24px;height:24px}.table-cards td.action-cell:before{content:none}.table-cards td.action-cell .btn{flex:1}}.table th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable-header:hover{filter:brightness(1.12)}.table th.sortable-header:focus-visible,.data-table th.sortable-header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table th .sort-indicator{color:#fff9}.table th[aria-sort] .sort-indicator{color:#fff}@media (width<=768px){.table-wrap.table-wrap-cards .fixed-cols{min-width:0}.table-wrap.table-wrap-cards{background:0 0;border:0;border-radius:0;margin:12px 0;overflow:visible}}.row-actions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.sort-select{display:none}@media (width<=768px){.sort-select{align-items:stretch;gap:8px;margin-bottom:12px;display:flex}.sort-select label{color:var(--text-muted);text-align:left;flex:1;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.sort-select select,.sort-select button{border:1px solid var(--input-border);background:var(--surface);min-height:44px;color:var(--text);border-radius:8px;font-size:16px}.sort-select select{flex:1;min-width:0;padding:0 10px}.sort-select button{cursor:pointer;width:44px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:16px;display:flex}.page-header h1{text-align:left;margin:0}.page-actions{gap:12px;display:flex}.page-actions .btn{border-radius:8px;min-height:40px;padding:8px 20px;font-size:15px}.search-bar{align-items:center;gap:16px;margin-bottom:20px;display:flex}.search-bar .form-control{box-sizing:border-box;flex:auto;height:40px;margin:0}.search-meta{color:var(--text-muted);white-space:nowrap;flex:none;font-size:14px}@media (width<=768px){.search-bar{flex-wrap:wrap;gap:8px}.search-bar .form-control{flex:100%;height:44px}.search-meta{white-space:normal}.page-actions{flex:100%}.page-actions .btn{flex:1;min-height:44px}}.info-tip,.info-icon{color:var(--text-faint);transition:color .15s}.info-tip:hover,.info-icon:hover{color:var(--accent)}.calendar-container{visibility:hidden;background:var(--surface);width:322px;height:100dvh;box-shadow:-4px 0 12px var(--shadow);transition:transform .35s var(--ease-drawer), visibility 0s linear .35s;border-left:3px solid var(--primary-bg);z-index:1200;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.calendar-container.slide-in{visibility:visible;transition:transform .35s var(--ease-drawer), visibility 0s;transform:none}.calendar-container div,.calendar-container h3{color:var(--text)}.dashboard-container,.container{background:var(--surface-page);max-width:1200px;box-shadow:0 2px 10px var(--shadow);text-align:center;color:var(--text);border-radius:8px;margin:40px auto;padding:40px}h1,h2{color:var(--text);margin-bottom:10px}.btn-consider{color:#fff;background-color:#69a076;border-color:#69a076}.btn-primary{background-color:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-text)}.btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{background-color:#5a6268;border-color:#545b62}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{background-color:#218838;border-color:#1e7e34}.btn-custom{border-radius:8px;padding:12px 24px;font-size:1.25rem;transition:transform .2s,box-shadow .2s}.btn-custom:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{background-color:#c82333;border-color:#bd2130}.btn-info{background-color:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-text)}.btn-info:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{background-color:#e2e6ea;border-color:#dae0e5}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{background-color:#23272b;border-color:#1d2124}.modal-overlay{background:var(--overlay);z-index:1500;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-container{background:var(--surface);color:var(--text);width:90%;max-width:500px;box-shadow:0 4px 12px var(--shadow);animation:slideIn .22s var(--ease-drawer);text-align:center;border-radius:8px;max-height:80vh;padding:30px;position:relative;overflow-y:auto}.modal-container.large{text-align:left;width:95%;max-width:1200px}.editable-order-details{color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.editable-order-details h2{color:var(--text);border-bottom:2px solid var(--border);margin-bottom:1.5rem;padding-bottom:.5rem;font-weight:600}.editable-order-details h4{color:var(--text-muted);margin-top:2rem;margin-bottom:1rem;font-weight:600}.editable-order-details .form-label{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem;font-weight:600}.editable-order-details .form-control{border:2px solid var(--border);background-color:var(--surface);border-radius:6px;padding:.5rem .75rem;font-size:.9rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}.editable-order-details .form-control:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem var(--accent-soft);background-color:var(--surface);outline:0}.editable-order-details .form-control-plaintext{background-color:var(--surface-muted);border:2px solid var(--border);border-radius:6px;margin-bottom:0;padding:.5rem .75rem;font-weight:500}.editable-order-details .table{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.editable-order-details .table th{background-color:var(--head-bg);color:#fff;border:none;padding:.5rem .4rem;font-size:.85rem;font-weight:600}.editable-order-details .table td{vertical-align:middle;border-color:var(--border);background-color:var(--surface);padding:.5rem .4rem}.editable-order-details .table .form-control,.editable-order-details .table .form-select{box-sizing:border-box;width:100%;margin-bottom:0;padding:.35rem .5rem}.editable-order-details .table tbody tr:hover{background-color:var(--row-hover)}.editable-order-details .table tbody tr:nth-child(2n){background-color:var(--row-alt)}.editable-order-details .table tbody tr:nth-child(2n):hover{background-color:var(--row-hover)}.editable-order-details .btn{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}.editable-order-details .btn-primary{background-color:var(--primary-bg);border-color:var(--primary-bg);color:#fff}.editable-order-details .btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 4px 12px var(--accent-soft);transform:translateY(-1px)}.editable-order-details .btn-primary:disabled{box-shadow:none;background-color:#6c757d;border-color:#6c757d;transform:none}.editable-order-details .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.editable-order-details .btn-secondary:hover{background-color:#545b62;border-color:#4e555b;transform:translateY(-1px);box-shadow:0 4px 12px #6c757d4d}.editable-order-details .alert{border:none;border-radius:8px;font-weight:500}.editable-order-details .text-danger{font-weight:600;color:#dc3545!important}.editable-order-details .text-warning{font-weight:600;color:#fd7e14!important}.editable-order-details .text-success{font-weight:600;color:#28a745!important}.modal-close{background:var(--surface-muted);cursor:pointer;width:35px;height:35px;color:var(--text-muted);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s;display:flex;position:absolute;top:15px;right:15px}.modal-close:hover{background:var(--border);color:var(--text);transform:scale(1.1)}.card{background:var(--surface);box-shadow:0 4px 12px var(--shadow);text-align:center;border:none;border-radius:8px;max-width:500px;margin:40px auto;padding:20px}.form-label{color:var(--text-muted);text-align:center;margin-bottom:5px;margin-right:5px;font-weight:600}.form-control{border:1px solid var(--input-border);background:var(--surface);color:var(--text);border-radius:4px;margin-bottom:10px;padding:10px;transition:border-color .3s,box-shadow .3s}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem var(--accent-soft)}.card h2,.card h4,.card h5{text-align:center;color:var(--text)}.modal-container .btn{margin:10px auto;display:block}.liked-modal-overlay{background:var(--overlay);z-index:2000;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.liked-modal-container{background:var(--surface);color:var(--text);text-align:center;width:95%;max-width:900px;max-height:80vh;animation:slideInRight .3s var(--ease-drawer);border-radius:8px;padding:20px;position:relative;overflow:auto}.modal-title{margin-bottom:15px}.liked-table{border-collapse:separate;border-spacing:0;border-radius:5px;width:100%;margin-top:10px;font-family:Arial,sans-serif;font-size:14px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.liked-table th{background-color:var(--head-bg);color:#fff;border-bottom:2px solid var(--primary-hover);text-transform:uppercase;padding:10px;font-weight:700}.liked-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:10px}.liked-table tr:last-child td{border-bottom:none}.liked-table tr:hover td{background-color:var(--row-hover)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.state-message{color:var(--text-muted);text-align:center;justify-content:center;align-items:center;gap:10px;padding:48px 16px;display:flex}.state-error{color:#c0392b}body.dark-mode .state-error{color:#ff8a80}.state-spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite state-spin}@keyframes state-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.state-spinner{animation-duration:3s}}.table-skeleton{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:20px 0;overflow:hidden}.skeleton-head{background:var(--head-bg);opacity:.85;height:48px}.skeleton-row{border-top:1px solid var(--border);align-items:center;gap:24px;height:48px;padding:0 16px;display:flex}.skeleton-cell{background:var(--surface-muted);border-radius:6px;flex:1;height:12px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-row:nth-child(2n) .skeleton-cell{animation-delay:.2s}@keyframes skeleton-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skeleton-cell{animation:none}}@media (width<=768px){.skeleton-row .skeleton-cell:nth-child(n+3){display:none}}.accomplishments-container{text-align:center;background-color:var(--surface-page);border-radius:8px;max-width:1200px;margin:40px auto;padding:40px;box-shadow:0 4px 10px #0000001a}.title{text-align:center;color:var(--text)}.metrics-grid{grid-template-columns:repeat(6,1fr);gap:15px;margin-bottom:15px;display:grid}@media (width<=1000px){.metrics-grid{grid-template-columns:repeat(3,1fr)}}.metric-card{background-color:var(--surface);text-align:center;color:var(--text);border-radius:8px;min-width:0;padding:15px;box-shadow:0 2px 4px #0000001a}.metric-value{font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:22px;font-weight:600}.metric-card h3{color:var(--text-muted);margin:0;font-size:14px;font-weight:600}.info-icon{cursor:pointer;vertical-align:middle;justify-content:center;align-items:center;width:16px;height:16px;margin-left:5px;display:inline-flex}.info-icon svg{width:14px;height:14px;transition:transform .2s ease-in-out}.info-icon:hover svg{stroke:var(--accent);transform:scale(1.2)}.error-message{color:#c0392b;text-align:center;background-color:#dc35451a;border:1px solid #dc3545;border-radius:5px;padding:10px;font-size:18px}.chart-container{background:var(--surface);width:100%;color:var(--text);border-radius:8px;margin-bottom:20px;padding:2px;box-shadow:0 2px 4px #0000001a}.chart-title{text-align:center;color:var(--text);margin-bottom:10px}.chart-toggle-row{text-align:center;margin-bottom:20px}.chart-toggle-btn{background-color:var(--primary-bg);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .2s;display:inline-flex}.chart-toggle-btn:hover{background-color:var(--primary-hover)}.chart-container .recharts-line-curve{stroke:var(--accent)}.chart-container .recharts-cartesian-grid line{stroke:var(--border)}.chart-container .recharts-line-dots circle{stroke:var(--accent);fill:var(--surface)}.tag-input{text-align:left}.tag-input .form-control{box-sizing:border-box;width:100%;margin-bottom:0}.tag-input-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.tag-chip{background:var(--surface-muted);color:var(--text);border-radius:14px;align-items:center;gap:4px;padding:3px 6px 3px 10px;font-size:14px;display:inline-flex}.tag-chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin:0;padding:0 4px;font-size:16px;line-height:1}.tag-chip button:hover{color:#c0392b}.tag-input-empty{color:var(--text-faint);font-size:14px}.tag-input-error{color:#c0392b;margin:4px 0 0;font-size:13px}.ad-form{text-align:left}.ad-form h2{text-align:center;margin-bottom:16px}.ad-field-label{margin:14px 0 4px;font-weight:600;display:block}.ad-form .form-control{box-sizing:border-box;width:100%;margin-bottom:0}.ad-form-dates{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ad-form-hint{color:var(--text-muted);margin:10px 0 0;font-size:13px}.ad-form-prepaid{color:var(--text-faint);align-items:center;gap:8px;margin:16px 0 0;display:flex}.ad-form-error{color:#c0392b;margin:12px 0 0}.ad-form-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.modal-container .ad-form-actions .btn{cursor:pointer;border-radius:4px;margin:0;padding:8px 20px;display:inline-block}.ads-error{color:#c0392b}.ad-status{color:#fff;border-radius:10px;padding:2px 10px;font-size:13px;display:inline-block}.ad-status-running{background:#28a745}.ad-status-scheduled{background:#17a2b8}.ad-status-ended{background:#6c757d}.sidebar-container{background:linear-gradient(135deg, var(--primary-bg), var(--primary-hover));cursor:pointer;transition:width .35s var(--ease-drawer), background .3s ease-in-out;z-index:1100;background:var(--primary-bg);cursor:pointer;width:5px;height:60px;transition:width .35s var(--ease-drawer), background .3s ease-in-out;z-index:1200;border-radius:10px 0 0 10px;justify-content:center;align-items:center;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:-2px 0 8px #0003}.sidebar-container.expanded{width:var(--sidebar-expanded-width,600px);background:linear-gradient(135deg, var(--primary-bg), var(--primary-hover))}.sidebar-toggle{background:var(--primary-bg);cursor:pointer;width:40px;height:60px;color:var(--primary-text);z-index:1300;border-radius:10px 0 0 10px;justify-content:center;align-items:center;transition:background .3s,transform .3s;display:flex;position:absolute;left:-40px}.sidebar-toggle:hover{background:var(--primary-hover)}.rotate-arrow{transition:transform .3s;transform:rotate(180deg)}.login-page{box-sizing:border-box;justify-content:center;align-items:center;height:100dvh;padding:16px;display:flex}.login-form{flex-direction:column;gap:12px;width:min(320px,100%);display:flex}.login-form h1{text-align:center;margin-bottom:8px}.login-form input{min-height:44px;padding:10px;font-size:1rem}.login-form button{cursor:pointer;min-height:44px;padding:10px;font-size:1rem}.login-error{color:#c0392b;margin:0;font-size:.9rem}.dialog-overlay{z-index:3100;background:var(--overlay);justify-content:center;align-items:center;padding:16px;animation:.18s ease-out dialog-fade;display:flex;position:fixed;inset:0}.dialog-box{background:var(--surface);width:100%;max-width:420px;color:var(--text);box-shadow:0 12px 32px var(--shadow);animation:dialog-pop .2s var(--ease-drawer);border-radius:12px;padding:24px}.dialog-message{margin:0 0 20px;line-height:1.45}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.toast-stack{z-index:3200;pointer-events:none;flex-direction:column;gap:8px;width:min(360px,100vw - 32px);display:flex;position:fixed;top:16px;right:16px}.toast{border-left:4px solid var(--accent);background:var(--surface);color:var(--text);box-shadow:0 6px 18px var(--shadow);cursor:pointer;pointer-events:auto;animation:toast-in .25s var(--ease-drawer);border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.4}.toast-success{border-left-color:#28a745}.toast-error{border-left-color:#dc3545}@keyframes dialog-fade{0%{opacity:0}}@keyframes dialog-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}@media (width<=768px){.dialog-actions .btn{flex:1}}@media (prefers-reduced-motion:reduce){.dialog-overlay,.dialog-box,.toast{animation:none}}@media (width<=768px){.content{margin-bottom:40px;padding:12px}.container,.dashboard-container,.accomplishments-container{margin:12px auto;padding:16px}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:10px}.header{flex-wrap:wrap;gap:8px 12px;padding:10px 12px}.header .logo img{height:32px}.header nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1 0 100%;order:3;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.header nav::-webkit-scrollbar{display:none}.header nav ul{white-space:nowrap;flex-wrap:nowrap;gap:8px;margin:0;padding-right:28px}.header nav ul li a{background:var(--surface-muted);border-radius:999px;align-items:center;min-height:44px;padding:0 16px;font-size:15px;display:flex}.header nav ul li a:hover{text-decoration:none}.header nav ul li a.active{background:var(--primary-bg);color:var(--primary-text)}.right-section{gap:6px;margin-left:auto}.toggle-label,.file-info{display:none}.admin-toggle,.dark-mode-toggle{min-width:44px}.data-table,.table.table-bordered{max-width:100%;display:block;overflow-x:auto}.sidebar-container{max-width:calc(100vw - 44px)!important}.sidebar-toggle{width:44px;height:64px;left:-44px}.table-container,.calendar-container{box-sizing:border-box;width:calc(100vw - 44px);max-width:calc(100vw - 44px)}.modal-overlay{align-items:flex-end}.modal-container,.modal-container.large{box-sizing:border-box;width:100%;max-width:100%;max-height:92dvh;padding:24px 16px calc(24px + env(safe-area-inset-bottom));animation:sheetUp .35s var(--ease-drawer);border-radius:16px 16px 0 0}.modal-container .btn{width:100%;margin:8px 0 0}.admin-panel-overlay{align-items:flex-end}.admin-panel-overlay .admin-panel{width:100%;max-width:100%;max-height:92dvh;animation:sheetUp .35s var(--ease-drawer);border-radius:16px 16px 0 0;margin:0}.admin-panel .close-btn{min-width:44px;min-height:44px}.admin-panel .admin-btn,.chart-toggle-btn{min-height:44px}.chart-toggle-btn{width:44px;height:44px}.table-cards td.action-cell{flex-wrap:wrap}.modal-close{width:44px;height:44px;top:8px;right:8px}.liked-modal-overlay{width:100%}.pagination-bar,.pagination-group{flex-wrap:wrap;justify-content:center;row-gap:8px}.footer{box-sizing:border-box}.btn,.dark-mode-toggle,.admin-toggle,.pagination-bar button,.pagination-bar select{min-height:44px}.form-control,.pagination-bar select{font-size:16px}.form-control{min-height:44px}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}
