:root{--primary:#003d7a;--primary-dark:#002a54;--accent:#f4a900;--bg:#f5f7fa;--surface:#fff;--text:#1a1a1a;--muted:#666;--border:#e0e4ea;--danger:#c62828;--success:#2e7d32;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.55rem 1rem}button:disabled{opacity:.6;cursor:not-allowed}button.btn-secondary{color:var(--primary);border:1px solid var(--border);background:#fff}button.btn-sm{padding:.35rem .65rem;font-size:.85rem}.layout{min-height:100vh;display:flex}.sidebar{background:var(--primary-dark);color:#fff;border-right:1px solid #ffffff14;flex-direction:column;width:260px;min-width:260px;height:100vh;display:flex;position:sticky;top:0;box-shadow:2px 0 12px #00000014}.sidebar-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;padding:1.25rem 1rem 1rem}.brand{align-items:center;gap:.75rem;display:flex}.brand-text strong{letter-spacing:.02em;font-size:.95rem;display:block}.brand-icon{background:var(--accent);width:42px;height:42px;color:var(--primary-dark);border-radius:10px;flex-shrink:0;place-items:center;font-size:1.1rem;font-weight:800;display:grid}.brand small{opacity:.65;margin-top:.1rem;font-size:.72rem;display:block}.sidebar-nav{flex:1;min-height:0;padding:.75rem .75rem .5rem;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}nav{flex-direction:column;display:flex}.nav-section{margin-bottom:.5rem}.nav-section:not(:last-child){border-bottom:1px solid #ffffff12;margin-bottom:.75rem;padding-bottom:.5rem}.nav-section-title{text-transform:uppercase;letter-spacing:.1em;color:#fff6;padding:.35rem .75rem .45rem;font-size:.68rem;font-weight:600;display:block}.nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:#ffffffbf;border-left:3px solid #0000;border-radius:8px;align-items:center;gap:.65rem;padding:.6rem .75rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-link:hover{color:#fff;background:#ffffff14}.nav-link.active{color:#fff;border-left-color:var(--accent);background:#ffffff1f;font-weight:600}.nav-icon{opacity:.8;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.nav-icon svg{width:18px;height:18px}.nav-link.active .nav-icon{opacity:1;color:var(--accent)}.nav-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-footer{border-top:1px solid #ffffff1a;flex-shrink:0;padding:.75rem}.logout-btn{color:#ffffffd9;background:#00000040;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.65rem 1rem;font-size:.875rem;transition:background .15s;display:flex}.logout-btn svg{width:16px;height:16px}.logout-btn:hover{color:#fff;background:#0006}.main{flex:1;padding:1.5rem 2rem;overflow:auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1{color:var(--primary);margin:0}.header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.header-actions input{border:1px solid var(--border);border-radius:8px;min-width:220px;padding:.5rem .75rem}.section{margin-bottom:2rem}.section h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .75rem;font-size:1rem}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem}.stat-label{color:var(--muted);font-size:.85rem;display:block}.stat-value{color:var(--primary);font-size:1.75rem;font-weight:700}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:#f8fafc;font-size:.8rem}tr:last-child td{border-bottom:none}.actions{flex-wrap:wrap;gap:.35rem;display:flex}.badge{color:var(--primary);background:#e8eef5;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.badge.success{color:var(--success);background:#e8f5e9}.badge.danger{color:var(--danger);background:#ffebee}.badge.muted{color:var(--muted);background:#eee}.card-list{flex-direction:column;gap:.75rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.card-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.card-header h3{margin:0}.card-footer{justify-content:space-between;align-items:center;margin-top:.75rem;display:flex}.form-card{margin-bottom:1.5rem}.form-card label{margin-bottom:.75rem;display:block}.form-card input,.form-card select,.form-card textarea{border:1px solid var(--border);border-radius:8px;width:100%;margin-top:.35rem;padding:.55rem .75rem;display:block}.checkbox{align-items:center;gap:.5rem;display:flex!important}.checkbox input{width:auto;margin:0}.login-page{background:linear-gradient(180deg, var(--primary), var(--primary-dark));place-items:center;min-height:100vh;display:grid}.login-card{background:var(--surface);border-radius:16px;width:min(400px,92vw);padding:2rem;box-shadow:0 20px 60px #00000040}.login-card h1{color:var(--primary);margin:0 0 .25rem}.subtitle{color:var(--muted);margin:0 0 1.5rem}.login-card label{margin-bottom:1rem;font-size:.9rem;display:block}.login-card input{border:1px solid var(--border);border-radius:8px;width:100%;margin-top:.35rem;padding:.65rem .75rem;display:block}.login-card button{width:100%;margin-top:.5rem;padding:.75rem}.hint{color:var(--muted);text-align:center;margin-top:1rem;font-size:.8rem}.alert{border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.alert.error{color:var(--danger);background:#ffebee}.alert.success{color:var(--success);background:#e8f5e9}.muted{color:var(--muted)}.small{font-size:.85rem}.answer{background:#f0f6ff;border-radius:8px;margin-top:.5rem;padding:.5rem .75rem}code{background:#eef2f7;border-radius:4px;padding:.1rem .35rem;font-size:.85em}.page-subtitle{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}.stat-highlight{border-color:var(--accent);background:linear-gradient(135deg,#fffef8,#fff)}.badge.warning{color:#f57f17;background:#fff8e1}.quick-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.quick-action{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.quick-action:hover{border-color:var(--primary);box-shadow:0 2px 8px #003d7a1a}.dashboard-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=900px){.dashboard-grid{grid-template-columns:1fr}}.filter-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.filter-bar input,.filter-bar select{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.5rem .75rem}.filter-bar input{flex:1;min-width:200px}.link-btn{color:var(--primary);text-align:left;background:0 0;border:none;padding:0;font-weight:600}.row-selected{background:#f0f6ff}button.btn-danger{background:var(--danger)}button.btn-lg{padding:.6rem 1.25rem;font-size:1rem}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00142880;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:14px;flex-direction:column;width:100%;max-height:calc(100vh - 3rem);display:flex;overflow:hidden;box-shadow:0 24px 80px #00000038}.modal-md{max-width:480px}.modal-lg{max-width:640px}.modal-xl{max-width:800px}.modal-header{border-bottom:1px solid var(--border);background:#fafbfc;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.modal-header h2{color:var(--primary);margin:0;font-size:1.125rem;font-weight:700}.modal-subtitle{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.modal-close{color:var(--muted);border:1px solid var(--border);background:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;padding:0;display:grid}.modal-close svg{width:16px;height:16px}.modal-close:hover{color:var(--text);background:#f0f4f8}.modal-body{flex:1;min-height:0;padding:1.25rem 1.5rem;overflow-y:auto}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-thumb{background:#d0d7e2;border-radius:3px}.modal-footer{border-top:1px solid var(--border);background:#fafbfc;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.625rem;padding:1rem 1.5rem;display:flex}.modal-form{flex-direction:column;gap:1.25rem;display:flex}.form-section{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden}.form-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);border-bottom:1px solid var(--border);background:#f4f7fb;margin:0;padding:.65rem 1rem;font-size:.75rem;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;display:grid}.form-grid .span-2,.form-field.span-2{grid-column:span 2}.form-field{flex-direction:column;gap:.4rem;margin:0;display:flex}.form-field-label{color:#3d4f63;font-size:.8125rem;font-weight:600}.form-required{color:var(--danger);margin-left:.15rem}.form-field input,.form-field select,.form-field textarea,.modal-body input,.modal-body select,.modal-body textarea{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:.6rem .75rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #003d7a1a}.form-field textarea{resize:vertical;min-height:80px}.form-checkbox-group{border:1px dashed var(--border);background:#f8fafc;border-radius:8px;flex-wrap:wrap;grid-column:span 2;gap:.75rem 1.5rem;padding:.75rem 1rem;display:flex}.form-checkbox{color:var(--text);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;margin:0!important;display:flex!important}.form-checkbox input{width:16px;height:16px;accent-color:var(--primary);margin:0}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.field-label{color:#3d4f63;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;display:block}.chip-list{flex-wrap:wrap;gap:.5rem;display:flex}.chip{cursor:pointer;background:#f0f4f8;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.85rem;display:flex}.chip input{width:auto;margin:0}.inline-inputs{gap:.5rem;display:flex}.inline-inputs input{flex:1;min-width:0}.detail-panel .detail-grid{grid-template-columns:1fr 1fr;gap:1rem;padding:.25rem 0;display:grid}.detail-full{grid-column:span 2}.detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.15rem;font-size:.75rem;display:block}.card-compact{padding:.75rem 1rem}.checkin-success{border:2px solid var(--success);background:#e8f5e9;border-radius:12px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.checkin-success-icon{background:var(--success);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;font-size:1.75rem;font-weight:700;display:grid}.checkin-search{gap:.75rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.checkin-input{border:2px solid var(--border);border-radius:10px;flex:1;padding:.85rem 1rem;font-size:1.1rem}.checkin-input:focus{border-color:var(--primary);outline:none}.options-editor{margin-bottom:1rem}.option-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.option-row input{border:1px solid var(--border);border-radius:8px;flex:1;padding:.5rem .75rem}.option-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.poll-results{margin-top:1rem}.poll-result-row{margin-bottom:1rem}.poll-result-label{justify-content:space-between;margin-bottom:.35rem;font-size:.9rem;display:flex}.poll-bar-track{background:#e8eef5;border-radius:4px;height:8px;overflow:hidden}.poll-bar-fill{border-radius:4px;height:100%;transition:width .3s}.import-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=700px){.import-grid,.form-grid,.detail-panel .detail-grid{grid-template-columns:1fr}.form-grid .span-2,.form-field.span-2,.form-checkbox-group{grid-column:span 1}.modal-overlay{align-items:flex-end;padding:.75rem}.modal{border-bottom-right-radius:0;border-bottom-left-radius:0;max-height:92vh}.modal-lg,.modal-xl,.modal-md{max-width:100%}}.toast-container{z-index:2000;flex-direction:column;gap:.5rem;max-width:360px;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{background:var(--primary);color:#fff;border-radius:10px;padding:.85rem 1.25rem;animation:.25s slideIn;box-shadow:0 8px 24px #0003}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-info{background:var(--primary)}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.alert.info{color:#1565c0;background:#e3f2fd}
