.fixed{position:fixed}.grid{display:grid}:root{--do4mo-teal:#00b6a3;--do4mo-teal-soft:#11c6b4;--do4mo-navy:#062437;--do4mo-navy-soft:#12364b;--do4mo-bg:#06121e;--do4mo-surface:#081a28;--do4mo-border:#173548;--do4mo-text:#e6f4ff;--do4mo-text-muted:#8fa3b8}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{color:var(--do4mo-text);background:0 0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body[data-theme=light]{--do4mo-bg:#f2f7fb;--do4mo-surface:#fff;--do4mo-border:#d4e1ee;--do4mo-text:#071520;--do4mo-text-muted:#6c7b8a;color:var(--do4mo-text);background:radial-gradient(circle at top,#fff,#e3edf7 60%,#d7e4f1)}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-root{min-height:100vh}.dashboard-layout{background:0 0;gap:1.5rem;height:100vh;padding:1.5rem;display:flex;overflow:hidden}.dashboard-main{background:radial-gradient(circle at top,#071b2b,#020711);border:1px solid #00b6a366;border-radius:1.2rem;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden;box-shadow:0 18px 60px #000c,0 0 0 1px #082133e6}.dashboard-header{border-bottom:1px solid var(--do4mo-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#00b6a31f,#062437e6);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.dashboard-title{font-size:1.25rem;font-weight:600}.dashboard-header-actions{align-items:center;gap:.6rem;display:inline-flex}.icon-button{color:var(--do4mo-text);cursor:pointer;background:radial-gradient(circle at 0 0,#00b6a32e,#020915);border:1px solid #173548e6;border-radius:999px;justify-content:center;align-items:center;padding:.45rem;transition:transform .12s ease-out,box-shadow .12s ease-out,background .12s ease-out,opacity .12s ease-out;display:inline-flex;box-shadow:0 12px 28px #0000008c,0 0 0 1px #082133a6}.icon-button:hover{transform:translateY(-1px);box-shadow:0 16px 40px #000000b3,0 0 0 1px #035d54e6}.icon-button:active{transform:translateY(0)}.user-pill{background:radial-gradient(circle at 0 0,#052739e6,#02111e);border:1px solid #183c58f2;border-radius:999px;align-items:center;gap:.55rem;padding:.3rem .75rem .3rem .3rem;display:inline-flex;box-shadow:0 10px 26px #000000b3,0 0 0 1px #042e44e6}.user-avatar{color:#03141d;background:radial-gradient(circle at top,#00b6a3f2,#025a57);border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.user-meta{flex-direction:column;line-height:1.1;display:flex}.user-name{font-size:.8rem;font-weight:600}.user-role{color:var(--do4mo-text-muted);font-size:.7rem}.dashboard-content{scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;padding:1.5rem 1.75rem 2rem;overflow-y:auto}.dashboard-content::-webkit-scrollbar{display:none}.dashboard-home-modern{flex-direction:column;gap:2rem;max-width:1100px;display:flex}.dashboard-hero{background:linear-gradient(135deg,#00b6a32e,#062437f2,#021423fa);border:1px solid #00b6a359;border-radius:1.25rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;padding:2rem;display:flex;box-shadow:0 20px 50px #0006,inset 0 1px #ffffff0d}.dashboard-hero-content{flex:1;min-width:240px}.dashboard-hero-badge{letter-spacing:.05em;text-transform:uppercase;color:var(--do4mo-teal);background:#00b6a34d;border-radius:999px;margin-bottom:.75rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.dashboard-hero-title{letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.75rem;font-weight:700;line-height:1.2}.dashboard-hero-subtitle{color:var(--do4mo-text-muted);max-width:420px;margin:0;font-size:.95rem;line-height:1.5}.dashboard-hero-progress{flex-direction:column;align-items:center;gap:.5rem;display:flex}.progress-ring{width:100px;height:100px;position:relative}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:#173548cc;stroke-width:8px}.progress-ring-fill{fill:none;stroke:var(--do4mo-teal);stroke-width:8px;stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:calc(264 - (264*var(--progress,0))/100);transition:stroke-dashoffset .4s ease-out}.progress-ring-value{color:var(--do4mo-teal);justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:flex;position:absolute;inset:0}.progress-label{color:var(--do4mo-text-muted);font-size:.8rem}.dashboard-stats-modern{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.stat-card-modern{background:linear-gradient(#081a28e6,#03111cf2);border:1px solid #17354899;border-radius:1rem;align-items:flex-start;gap:1rem;padding:1.25rem;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out;display:flex}.stat-card-modern:hover{border-color:#00b6a366;transform:translateY(-3px);box-shadow:0 12px 32px #00000059}.stat-card-modern-icon{border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-card-teal .stat-card-modern-icon{color:var(--do4mo-teal);background:linear-gradient(135deg,#00b6a359,#00b6a326)}.stat-card-amber .stat-card-modern-icon{color:#f59e0b;background:linear-gradient(135deg,#f59e0b4d,#f59e0b1a)}.stat-card-gold .stat-card-modern-icon{color:#eab308;background:linear-gradient(135deg,#eab30859,#eab3081f)}.stat-card-orange .stat-card-modern-icon{color:#f97316;background:linear-gradient(135deg,#f973164d,#f973161a)}.stat-card-modern-content{flex-direction:column;gap:.25rem;min-width:0;display:flex}.stat-card-modern-value{letter-spacing:-.02em;font-size:1.5rem;font-weight:700;line-height:1.2}.stat-card-modern-label{color:var(--do4mo-text-muted);font-size:.8rem}.stat-card-modern-trend{color:var(--do4mo-teal);align-items:center;gap:.25rem;margin-top:.2rem;font-size:.75rem;display:inline-flex}.dashboard-section-modern{flex-direction:column;gap:1rem;display:flex}.dashboard-section-modern-title{letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:600}.dashboard-actions-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.dashboard-two-col{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.dashboard-summary-card{background:linear-gradient(#081a2899,#03111ccc);border:1px solid #17354899;border-radius:1rem;padding:1.25rem}.dashboard-summary-card .dashboard-section-modern-title{margin-bottom:.75rem}.dashboard-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-list-item{border-bottom:1px solid var(--do4mo-border);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.9rem;display:flex}.dashboard-list-item:last-child{border-bottom:none}.dashboard-list-title{color:var(--do4mo-text);min-width:0;font-weight:500}.dashboard-list-count{color:var(--do4mo-text-muted);flex-shrink:0;font-size:.85rem}.dashboard-summary-empty{color:var(--do4mo-text-muted);margin:0;font-size:.9rem}.action-card-modern{color:inherit;background:linear-gradient(#081a2899,#03111ccc);border:1px solid #17354899;border-radius:1rem;align-items:center;gap:1rem;padding:1.25rem 1.5rem;text-decoration:none;transition:transform .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out,background .18s ease-out;display:flex}.action-card-modern:hover{background:linear-gradient(#00b6a31f,#062437e6);border-color:#00b6a380;transform:translate(6px);box-shadow:0 8px 24px #00b6a31f}.action-card-modern-icon{width:44px;height:44px;color:var(--do4mo-teal);background:#00b6a333;border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.action-card-modern-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.action-card-modern-label{font-size:1rem;font-weight:600}.action-card-modern-desc{color:var(--do4mo-text-muted);font-size:.82rem}.action-card-modern-arrow{color:var(--do4mo-text-muted);flex-shrink:0;transition:color .18s ease-out,transform .18s ease-out}.action-card-modern:hover .action-card-modern-arrow{color:var(--do4mo-teal);transform:translate(4px)}body[data-theme=light] .dashboard-hero{background:linear-gradient(135deg,#00b6a31f,#fffffff2,#f0f7fffa);border:none;box-shadow:0 20px 50px #1a365726}body[data-theme=light] .stat-card-modern,body[data-theme=light] .action-card-modern,body[data-theme=light] .dashboard-summary-card{background:linear-gradient(#fff,#f8fbff);border-color:#c8d7ea}body[data-theme=light] .stat-card-modern:hover,body[data-theme=light] .action-card-modern:hover{border-color:#00b6a380;box-shadow:0 12px 32px #00b6a31a}body[data-theme=light] .progress-ring-bg{stroke:#c8d7e6cc}.data-page{flex-direction:column;gap:1.25rem;display:flex}.data-page-header{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.data-page-title{margin:0;font-size:1.4rem;font-weight:600;display:none}.data-page-subtitle{color:var(--do4mo-text-muted);width:100%;margin:.25rem 0 0;font-size:.9rem;display:none}.data-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.data-toolbar-actions{align-items:center;gap:.5rem;display:flex}.data-filter{border:1px solid var(--do4mo-border);color:var(--do4mo-text-muted);background:#03111c99;border-radius:.6rem;align-items:center;gap:.5rem;padding:.5rem .75rem;display:inline-flex}.data-filter:focus-within{border-color:#00b6a399;box-shadow:0 0 0 1px #00b6a34d}.filter-input{color:var(--do4mo-text);background:0 0;border:none;outline:none;min-width:200px;font-size:.9rem}.filter-input::-moz-placeholder{color:var(--do4mo-text-muted)}.filter-input::placeholder{color:var(--do4mo-text-muted)}.btn-primary{background:linear-gradient(135deg,var(--do4mo-teal),var(--do4mo-teal-soft));color:#03141d;cursor:pointer;border:none;border-radius:.6rem;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:filter .12s ease-out,transform .12s ease-out;display:inline-flex}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-secondary{border:1px solid var(--do4mo-border);color:var(--do4mo-text);cursor:pointer;background:#03111c99;border-radius:.6rem;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.9rem;transition:background .12s ease-out,border-color .12s ease-out;display:inline-flex}.btn-secondary:hover{background:#047d9626;border-color:#00b6a380}.table-pagination-container{border:1px solid var(--do4mo-border);background:#03111c66;border-radius:.8rem;overflow:hidden}.table-pagination-container .data-table-wrap{background:0 0;border:none;border-radius:0}.data-table-wrap{border:1px solid var(--do4mo-border);background:#03111c66;border-radius:.8rem;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #17354899;padding:.75rem 1rem}.data-table th{color:var(--do4mo-text-muted);background:#04243780;font-weight:600}.data-table th.th-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;padding-right:1.5rem}.data-table th.th-sortable:hover{color:var(--do4mo-teal)}.data-table th .th-sort-icon{opacity:.4;vertical-align:middle;margin-left:.25rem}.data-table th.th-sorted .th-sort-icon{opacity:1;color:var(--do4mo-teal)}.data-table tbody tr:hover{background:#047d9614}.data-table tbody tr:last-child td{border-bottom:none}.th-actions,.td-actions{text-align:right;width:100px}.td-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.btn-icon{border:1px solid var(--do4mo-border);width:32px;height:32px;color:var(--do4mo-text-muted);cursor:pointer;background:0 0;border-radius:.5rem;justify-content:center;align-items:center;transition:background .12s ease-out,color .12s ease-out;display:inline-flex}.btn-icon:hover{color:var(--do4mo-teal);background:#00b6a333}.btn-icon-danger:hover{color:#f87171;background:#b43c3c33;border-color:#b43c3c66}.btn-icon-success:hover{color:var(--do4mo-teal);background:#00b6a340;border-color:#00b6a380}.empty-state{text-align:center;color:var(--do4mo-text-muted);padding:2rem!important}.screen-role-access-page{flex-direction:column;gap:1.5rem;display:flex}.screen-role-access-header{margin:0}.screen-role-access-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.choose-role-label{color:var(--do4mo-text);font-size:.95rem;font-weight:500}.choose-role-select{border:1px solid var(--do4mo-border);min-width:200px;color:var(--do4mo-text);cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:#03111c99;border-radius:.6rem;padding:.5rem 2rem .5rem .75rem;font-size:.95rem}.choose-role-select:focus{border-color:#00b6a399;outline:none;box-shadow:0 0 0 1px #00b6a34d}.btn-save-access{margin-left:.25rem}.screen-role-access-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.screen-access-card{background:var(--do4mo-surface);border:1px solid var(--do4mo-border);border-radius:.9rem;padding:1.25rem 1.35rem;transition:box-shadow .18s ease-out,border-color .18s ease-out;box-shadow:0 4px 16px #0003}.screen-access-card:hover{border-color:#00b6a359;box-shadow:0 6px 20px #00000040}.screen-access-card-title{color:var(--do4mo-text);margin:0 0 .75rem;font-size:1rem;font-weight:700;line-height:1.3}.screen-access-card-divider{border:none;border-top:1px solid var(--do4mo-border);margin:0 0 1rem}.screen-access-features{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.screen-access-feature-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.screen-access-feature-name{color:var(--do4mo-text);font-size:.9rem}.access-checkbox{border:2px solid var(--do4mo-border);color:#0000;cursor:pointer;background:#03111c66;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:inline-flex}.access-checkbox:hover{background:#00b6a326;border-color:#00b6a399}.access-checkbox-checked{background:var(--do4mo-teal);border-color:var(--do4mo-teal);color:#03141d}.access-checkbox-checked:hover{background:var(--do4mo-teal-soft);border-color:var(--do4mo-teal-soft);color:#03141d}body[data-theme=light] .screen-access-card{background:#fff;border-color:#d4e1ee;box-shadow:0 4px 16px #1a365714}body[data-theme=light] .screen-access-card:hover{border-color:#00b6a380;box-shadow:0 6px 20px #1a36571f}body[data-theme=light] .screen-access-card-divider{border-top-color:#e2eaf3}body[data-theme=light] .choose-role-select{color:var(--do4mo-text);background:#f4f7fb;border-color:#c8d7ea}.screen-access-feature-row.screen-access-empty{color:var(--do4mo-text-muted);justify-content:flex-start;font-size:.85rem}.screen-role-access-empty-message{color:var(--do4mo-text-muted);margin:1rem 0 0;font-size:.95rem}.pagination{border-top:1px solid var(--do4mo-border);color:var(--do4mo-text-muted);background:#0424374d;border-radius:0 0 .8rem .8rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.pagination-info{color:var(--do4mo-text-muted)}.pagination-controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.pagination-size-label{color:var(--do4mo-text-muted);align-items:center;gap:.5rem;display:inline-flex}.pagination-size-select{border:1px solid var(--do4mo-border);color:var(--do4mo-text);cursor:pointer;background:#03111c99;border-radius:.5rem;padding:.35rem .6rem;font-size:.875rem}.pagination-size-select:focus{border-color:#00b6a399;outline:none}.pagination-page-info{min-width:80px}.pagination-buttons{align-items:center;gap:.25rem;display:inline-flex}.pagination-btn{border:1px solid var(--do4mo-border);width:32px;height:32px;color:var(--do4mo-text-muted);cursor:pointer;background:0 0;border-radius:.5rem;justify-content:center;align-items:center;transition:background .12s ease-out,color .12s ease-out,border-color .12s ease-out;display:inline-flex}.pagination-btn:hover:not(:disabled){color:var(--do4mo-teal);background:#00b6a333;border-color:#00b6a366}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}body[data-theme=light] .pagination{background:#f8fbffcc;border-top-color:#e2eaf3}body[data-theme=light] .pagination-size-select{color:var(--do4mo-text);background:#f4f7fb;border-color:#c8d7ea}.btn-danger{color:#f87171;background:#b43c3c26;border-color:#b43c3c99}.btn-danger:hover{background:#b43c3c40;border-color:#b43c3ccc}.td-actions .btn-icon{flex-shrink:0}.badge{border-radius:999px;padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.badge-active{color:var(--do4mo-teal);background:#00b6a340}.badge-inactive{color:var(--do4mo-text-muted);background:#8fa3b833}.badge-pending{color:#f59e0b;background:#f59e0b40}.badge-inprogress{color:#3b82f6;background:#3b82f640}.badge-completed{color:var(--do4mo-teal);background:#00b6a340}.badge-cancelled{color:var(--do4mo-text-muted);background:#8fa3b833}.hidden-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.route-code{color:var(--do4mo-teal);background:#00b6a31f;border-radius:.35rem;padding:.15rem .35rem;font-family:ui-monospace,monospace;font-size:.8rem}.checkbox-label{cursor:pointer;color:var(--do4mo-text);align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.checkbox-label input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--do4mo-teal);cursor:pointer}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--do4mo-border);background:var(--do4mo-surface);border-radius:1rem;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px #00000080}.modal-content.modal-form{flex-direction:column;max-width:720px;max-height:90vh;display:flex;overflow:hidden}.modal-content.modal-form .modal-body{scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;overflow-y:auto}.modal-content.modal-form .modal-body::-webkit-scrollbar{display:none}.form-grid{grid-template-columns:1fr 1fr;gap:1rem 1.25rem;display:grid}.form-grid .form-field{margin-bottom:0}.form-grid .form-field-full{grid-column:1/-1}.form-grid+.form-actions{margin-top:1.25rem}.modal-header{border-bottom:1px solid var(--do4mo-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{margin:0;font-size:1.15rem;font-weight:600}.modal-close{width:36px;height:36px;color:var(--do4mo-text-muted);cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;transition:background .12s ease-out,color .12s ease-out;display:inline-flex}.modal-close:hover{color:var(--do4mo-text);background:#047d9626}.modal-body{padding:1.5rem}.form-field{margin-bottom:1rem}.form-field:last-of-type{margin-bottom:0}.form-field label{color:var(--do4mo-text-muted);margin-bottom:.35rem;font-size:.85rem;font-weight:500;display:block}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--do4mo-border);width:100%;color:var(--do4mo-text);background:#03111c99;border-radius:.5rem;outline:none;padding:.55rem .75rem;font-size:.9rem;transition:border-color .12s ease-out,box-shadow .12s ease-out}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#00b6a3b3;box-shadow:0 0 0 1px #00b6a34d}.form-field textarea{resize:vertical;min-height:80px}.form-actions{border-top:1px solid var(--do4mo-border);justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.filter-panel{border:1px solid var(--do4mo-border);background:#03111c66;border-radius:.8rem;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem;display:flex}.filter-panel-row{align-items:center;gap:.5rem;display:flex}.filter-panel-row label{color:var(--do4mo-text-muted);white-space:nowrap;font-size:.85rem}.filter-select{border:1px solid var(--do4mo-border);color:var(--do4mo-text);background:#03111c99;border-radius:.5rem;min-width:140px;padding:.4rem .75rem;font-size:.9rem}.filter-badge{background:var(--do4mo-teal);color:#03141d;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:.25rem;padding:0 4px;font-size:.7rem;font-weight:600;display:inline-flex}.btn-sm{padding:.4rem .75rem;font-size:.85rem}.detail-view{flex-direction:column;gap:1rem;display:flex}.detail-row{grid-template-columns:120px 1fr;align-items:start;gap:.75rem;display:grid}.detail-label{color:var(--do4mo-text-muted);font-size:.85rem;font-weight:500}.detail-value{font-size:.95rem}.cell-desc{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.link-teal{color:var(--do4mo-teal);text-decoration:none}.link-teal:hover{text-decoration:underline}.modal-content-wide{max-width:520px}.modal-content-max{max-width:720px}.screenshot-preview-wrap{border:1px solid var(--do4mo-border);background:#03111c80;border-radius:.5rem;margin-top:1rem;overflow:hidden}.screenshot-preview{-o-object-fit:contain;object-fit:contain;max-width:100%;height:auto;max-height:70vh;display:block}.screenshot-thumb-btn{border:1px solid var(--do4mo-border);cursor:pointer;background:0 0;border-radius:.375rem;padding:0;transition:border-color .15s,box-shadow .15s;display:inline-block;overflow:hidden}.screenshot-thumb-btn:hover{border-color:var(--do4mo-teal);box-shadow:0 0 0 2px #0d948833}.screenshot-thumb{-o-object-fit:cover;object-fit:cover;vertical-align:middle;width:56px;height:40px;display:block}body[data-theme=light] .modal-content{background:#fff;border-color:#c8d7ea;box-shadow:0 24px 60px #1a365733}body[data-theme=light] .form-field input,body[data-theme=light] .form-field select,body[data-theme=light] .form-field textarea{color:var(--do4mo-text);background:#f4f7fb;border-color:#c8d7ea}body[data-theme=light] .form-field input:focus,body[data-theme=light] .form-field select:focus,body[data-theme=light] .form-field textarea:focus{background:#fff}body[data-theme=light] .data-filter,body[data-theme=light] .data-table-wrap,body[data-theme=light] .table-pagination-container,body[data-theme=light] .btn-secondary,body[data-theme=light] .filter-panel{background:#fffc;border-color:#c8d7ea}body[data-theme=light] .filter-select{color:var(--do4mo-text);background:#f4f7fb;border-color:#c8d7ea}body[data-theme=light] .filter-input{color:var(--do4mo-text)}body[data-theme=light] .data-table th,body[data-theme=light] .data-table td{border-bottom-color:#e2eaf3}body[data-theme=light] .data-table th{color:var(--do4mo-text-muted);background:#f0f7ffcc}body[data-theme=light] .data-table tbody tr:hover{background:#00b6a30f}body[data-theme=light] .btn-icon{border-color:#c8d7ea}.sidebar{background:radial-gradient(circle at 0 0,#00b6a333,#0000 55%),#020915;border:1px solid #00b6a366;border-radius:1.2rem;flex-direction:column;flex-shrink:0;min-width:240px;max-width:260px;min-height:0;padding:1.25rem 1.25rem 1.5rem;display:flex;overflow:hidden;box-shadow:0 18px 50px #000000e6,0 0 0 1px #082133f2}.sidebar-header{border-bottom:1px solid #173548d9;margin-bottom:1.25rem;padding-bottom:1.25rem}.sidebar-logo{max-width:160px;height:auto}.sidebar-nav{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:.4rem;min-height:0;display:flex;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-link{color:var(--do4mo-text-muted);border-radius:.6rem;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.92rem;text-decoration:none;transition:background-color .12s ease-out,color .12s ease-out,transform .12s ease-out;display:inline-flex}.sidebar-group{border-top:1px solid #17354899;flex-direction:column;gap:.2rem;margin-top:.75rem;padding-top:.75rem;display:flex}.sidebar-group-trigger{cursor:pointer;text-align:left;text-transform:uppercase;letter-spacing:.04em;width:100%;color:var(--do4mo-text-muted);background:0 0;border:none;justify-content:space-between;font-family:inherit;font-size:.8rem;font-weight:600}.sidebar-group-trigger.sidebar-link-active{color:var(--do4mo-teal)}.sidebar-submenu{flex-direction:column;gap:.2rem;margin-top:.2rem;padding-left:1.5rem;display:flex}.sidebar-sublink{color:var(--do4mo-text-muted);border-radius:.5rem;align-items:center;gap:.45rem;padding:.45rem .65rem;font-size:.88rem;text-decoration:none;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex}.sidebar-sublink:hover{color:var(--do4mo-text);background:#047d962e}.sidebar-sublink-active{color:var(--do4mo-teal);background:#00b6a340}.sidebar-link:hover{color:var(--do4mo-text);background:#047d962e;transform:translate(1px)}.sidebar-link-active{color:#fff;background:linear-gradient(135deg,#00b6a3f2,#062437f2)}.sidebar-footer{border-top:1px solid #173548d9;margin-top:1rem;padding-top:1rem}.sidebar-logout{color:#fff;cursor:pointer;background:#c53030;border:1px solid #b43c3c99;border-radius:.6rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.55rem .75rem;font-size:.92rem;transition:background-color .12s ease-out,color .12s ease-out,border-color .12s ease-out,filter .12s ease-out;display:inline-flex}.sidebar-logout:hover{color:#fff;filter:brightness(1.05);background:#b91c1c;border-color:#b43c3ccc}.login-page{background:0 0;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:radial-gradient(circle at 0 0,#00b6a329,#0000 55%),radial-gradient(circle at 100% 100%,#062437e6,#020711);border:1px solid #00b6a366;border-radius:1.4rem;width:100%;max-width:420px;padding:2.25rem 2.5rem 2.4rem;box-shadow:0 22px 60px #000000b3,0 0 0 1px #05918c4d}body[data-theme=light] .dashboard-main{background:linear-gradient(135deg,#fff,#edf3fb);border:none;box-shadow:0 20px 60px #0f284d29,0 0 0 1px #c3d2e6e6}body[data-theme=light] .sidebar{background:radial-gradient(circle at 0 0,#00b6a317,#0000 60%),#fff;border:none;box-shadow:0 18px 50px #1a36572e,0 0 0 1px #cddceff2}body[data-theme=light] .sidebar-group,body[data-theme=light] .sidebar-footer{border-top-color:#c8d7e6e6}body[data-theme=light] .sidebar-logout{color:#fff;background:#c53030;border-color:#b43c3c99}body[data-theme=light] .sidebar-logout:hover{color:#fff;background:#b91c1c;border-color:#b43c3ccc}body[data-theme=light] .login-page{background:0 0}body[data-theme=light] .login-card{background:radial-gradient(circle at 0 0,#00b6a314,#0000 55%),#fff;border:none;box-shadow:0 18px 45px #2948752e,0 0 0 1px #d3dfefe6}body[data-theme=light] .login-field input{color:var(--do4mo-text);background:#f4f7fb;border-color:#c8d7ea}body[data-theme=light] .login-field input:focus{background-color:#fff}body[data-theme=light] .dashboard-home-subtitle{color:var(--do4mo-text-muted)}body[data-theme=light] .icon-button{color:var(--do4mo-text);background:radial-gradient(circle at 0 0,#00b6a31a,#fff);border-color:#c8d7ea;box-shadow:0 10px 28px #29487533,0 0 0 1px #cddceff2}body[data-theme=light] .user-pill{background:radial-gradient(circle at 0 0,#fff,#e6f0fa);border-color:#c8d7ea;box-shadow:0 10px 26px #29487533,0 0 0 1px #cddcefe6}.login-logo-wrap{justify-content:center;margin-bottom:1.75rem;display:flex}.login-logo{filter:drop-shadow(0 0 24px #00b6a373);max-width:200px;height:auto}.login-title{text-align:center;margin-bottom:.45rem;font-size:1.4rem;font-weight:600}.login-subtitle{text-align:center;color:var(--do4mo-text-muted);margin-bottom:1.8rem;font-size:.95rem}.login-form{flex-direction:column;gap:1rem;display:flex}.login-field{color:var(--do4mo-text-muted);flex-direction:column;gap:.35rem;font-size:.88rem;display:flex}.login-field input{color:var(--do4mo-text);background:#03111ce6;border:1px solid #173548e6;border-radius:.7rem;outline:none;padding:.65rem .75rem;font-size:.95rem;transition:border-color .12s ease-out,box-shadow .12s ease-out,background-color .12s ease-out}.login-field input::-moz-placeholder{color:#8fa3b8b3}.login-field input::placeholder{color:#8fa3b8b3}.login-field input:focus{background-color:#020e1a;border-color:#00b6a3e6;box-shadow:0 0 0 1px #00b6a38c,0 0 0 6px #00b6a324}.login-button{letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,var(--do4mo-teal),var(--do4mo-teal-soft));color:#03141d;border:none;border-radius:999px;margin-top:.4rem;padding:.7rem 1rem;font-size:.98rem;font-weight:600;transition:transform .12s ease-out,box-shadow .12s ease-out,filter .12s ease-out,background .12s ease-out;box-shadow:0 12px 28px #00b6a366,0 0 0 1px #00b6a3bf}.login-button:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 16px 40px #00b6a399,0 0 0 1px #03645ad9}.login-button:active{transform:translateY(0);box-shadow:0 8px 20px #00b6a373,0 0 0 1px #03645ad9}@media(max-width:900px){.dashboard-layout{flex-direction:column;gap:1rem;padding:1rem}.sidebar{flex-direction:row;justify-content:space-between;align-items:center;min-width:0;max-width:none;padding-inline:.9rem}.sidebar-logo{max-width:120px}.dashboard-header,.dashboard-content{padding-inline:1rem}}.app-root{width:100%;min-height:100vh}
