@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css";@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.top-1\/2{top:50%}.top-full{top:100%}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.mx-auto{margin-inline:auto}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[90vh\]{max-height:90vh}.w-full{width:100%}.w-px{width:1px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.bg-transparent{background-color:#0000}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{-o-object-fit:contain;object-fit:contain}.text-center{text-align:center}.text-left{text-align:left}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.whitespace-nowrap{white-space:nowrap}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-50{opacity:.5}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}:root{--primary:#004b23;--primary-dark:#003318;--secondary:#d4af37;--accent:#ce1126;--bg-main:#f0f2f5;--bg-card:#fff;--text-main:#1a1a1a;--text-muted:#595959;--sidebar-width:280px;--header-height:70px;--radius:8px;--shadow:0 2px 8px #00000026}*{box-sizing:border-box}body{background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}.app-container{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);z-index:50;background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;transition:margin-left .3s cubic-bezier(.4,0,.2,1);display:flex}.app-container.sidebar-collapsed .sidebar{margin-left:calc(var(--sidebar-width)*-1)}@media(max-width:1024px){.sidebar{display:none}}.sidebar-header{height:var(--header-height);border-bottom:1px solid #f1f5f9;align-items:center;gap:.75rem;padding:0 1.5rem;display:flex}.logo-img{width:32px;height:32px}.logo-text{color:var(--primary);text-transform:uppercase;letter-spacing:.025em;font-size:1.125rem;font-weight:700}.sidebar-menu{flex:1;padding:1.5rem .75rem;list-style:none}.menu-item{color:var(--text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:.25rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.menu-item:hover{color:var(--primary);background:#f1f5f9}.menu-item.active{color:var(--primary);border-right:4px solid var(--primary);background:#004b231a;border-radius:4px}.menu-item i{font-size:1.25rem}.main-wrapper{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.top-header{height:var(--header-height);background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:0 1.5rem;display:flex;box-shadow:0 1px 2px #0000000d}.header-left{align-items:center;gap:1rem;display:flex}.view-title{color:var(--text-main);font-size:1.125rem;font-weight:600}.search-container{display:none;position:relative}@media(min-width:768px){.search-container{width:320px;display:block}}.search-input{background:#f1f5f9;border:1px solid #0000;border-radius:9999px;outline:none;width:100%;padding:.5rem 1rem .5rem 2.5rem;font-size:.875rem;transition:all .2s}.search-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #2563eb1a}.search-icon{color:var(--text-muted);position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.user-profile{cursor:pointer;align-items:center;gap:.75rem;display:flex}.user-info{text-align:right;display:none}@media(min-width:640px){.user-info{display:block}}.user-name{font-size:.875rem;font-weight:600;line-height:1.25rem}.user-role{color:var(--text-muted);font-size:.75rem}.avatar{background:var(--primary);color:#d4af37;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:.95rem;font-weight:700;display:flex;box-shadow:0 0 0 1px #e2e8f0}.page-content{background-color:var(--bg-main);flex:1;min-height:0;padding:1.5rem;overflow-y:auto}.dashboard-grid-actions{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}@media(min-width:992px){.dashboard-grid-actions{grid-template-columns:repeat(4,1fr)}}.dashboard-grid-stats{grid-template-columns:repeat(1,1fr);gap:1.5rem;margin-bottom:1.5rem;display:grid}@media(min-width:576px){.dashboard-grid-stats{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.dashboard-grid-stats{grid-template-columns:repeat(4,1fr)}}.dashboard-charts-row{grid-template-columns:1fr;gap:1.5rem;display:grid}@media(min-width:992px){.dashboard-charts-row{grid-template-columns:2fr 1fr}}.card{border-radius:var(--radius);background:#fff;border:1px solid #e2e8f0;flex-direction:column;padding:1.25rem;display:flex;box-shadow:0 1px 3px #0000000d}.card-title{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;font-weight:700;display:flex}.quick-action-item{cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.25rem;transition:all .2s;display:flex;box-shadow:0 2px 4px #00000005}.quick-action-item:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 8px 16px #00000014}.quick-action-label{color:#334155;text-align:center;font-size:.9rem;font-weight:600}.stat-card{border-radius:var(--radius);background:#fff;border:1px solid #e2e8f0;flex-direction:column;height:100%;padding:1.5rem;display:flex;box-shadow:0 1px 2px #0000000d}.stat-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.stat-label{color:#64748b;font-size:.875rem;font-weight:500}.stat-icon-wrapper{color:var(--primary);background:#f0fdf4;border-radius:6px;padding:.4rem;display:flex}.stat-icon-wrapper.red{color:#ef4444;background:#fef2f2}.stat-value{color:#0f172a;font-size:1.75rem;font-weight:800;line-height:1.2}.stat-trend{align-items:center;gap:.25rem;margin-top:.5rem;font-size:.8rem;font-weight:600;display:flex}.trend-up{color:#16a34a}.trend-down{color:#dc2626}.filter-row{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-title{color:#1e293b;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;display:flex}.form-select-sm{color:#475569;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.35rem 2rem .35rem .75rem;font-size:.875rem}.sidebar-logo-img{-o-object-fit:contain;object-fit:contain;width:32px;height:32px}.login-logo-img{-o-object-fit:contain;object-fit:contain;width:90px;height:90px;margin-bottom:1.5rem}.login-page{background-color:#f8fafc;background-image:linear-gradient(#e2e8f0 1px,#0000 1px),linear-gradient(90deg,#e2e8f0 1px,#0000 1px);background-size:40px 40px;justify-content:center;align-items:center;height:100vh;display:flex}.login-card{border-top:5px solid var(--primary);background:#fff;border-radius:16px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.login-header{text-align:center;margin-bottom:2rem}.form-group{margin-bottom:1.25rem}.form-label{color:#334155;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-control{border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.625rem 1rem;font-size:.875rem;transition:all .2s}.form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #004b231a}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.75rem;font-weight:600;transition:all .2s}.btn-primary:hover{background:var(--primary-dark)}.fc{border-radius:var(--radius);background:#fff;border:1px solid #e2e8f0;flex-direction:column;padding:1rem;display:flex}.fc-header-toolbar{margin-bottom:1rem!important}.fc-button-primary{background-color:var(--primary)!important;border-color:var(--primary)!important}.fc-toolbar-title{color:#1e293b;font-size:1.25rem!important;font-weight:700!important}.mobile-nav{z-index:100;height:60px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e2e8f0;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}@media(min-width:1024px){.mobile-nav{display:none}}.mobile-nav-item{color:#64748b;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;text-decoration:none;display:flex}.mobile-nav-item.active{color:var(--primary);font-weight:600}.fc-event{overflow:hidden;border:none!important;border-radius:6px!important}.fc-event-main{width:100%;overflow:hidden}.fc-daygrid-event{margin:1px 2px!important}.duty-event-block{flex-direction:column;gap:2px;font-size:.8em;line-height:1.3;display:flex}.duty-shift{text-align:center;background:#00000026;border-radius:4px 4px 0 0;margin:-2px -2px 2px;padding:2px 4px;font-weight:700}.duty-role{align-items:flex-start;gap:4px;margin-bottom:1px;line-height:1.2;display:flex}.duty-role-ch{color:#dc3545}.duty-role-tb{color:#ffc107}.duty-role-tc{color:#0d6efd}.duty-role-of{color:#198754}.fc .fc-button{text-transform:none!important;border-radius:6px!important;font-size:.875rem!important;font-weight:500!important}.fc .fc-button-primary{color:#475569!important;background-color:#f1f5f9!important;border-color:#e2e8f0!important}.fc .fc-button-primary:hover{color:var(--primary)!important;background-color:#e2e8f0!important}.fc .fc-button-primary:not(:disabled).fc-button-active{background-color:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.fc .fc-daygrid-day-number{color:#475569;font-weight:600;padding:6px 10px!important}.fc .fc-daygrid-day.fc-day-today{background-color:#004b2314!important}.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{color:var(--primary);font-weight:700}.fc-list-event-title{font-weight:500!important}.fc-list-event-time{color:#64748b!important;font-weight:400!important}.fc-list-day-cushion{background:linear-gradient(135deg,var(--primary),#065f46)!important;color:#fff!important;font-weight:600!important}.fc .fc-col-header-cell{color:#475569;background:#f8fafc;font-weight:600;border-bottom:2px solid #e2e8f0!important}.fc .fc-col-header-cell.fc-day-today{color:var(--primary);background:#004b231a}.fc-scroller::-webkit-scrollbar{width:6px;height:6px}.fc-scroller::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.fc-scroller::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.fc-scroller::-webkit-scrollbar-thumb:hover{background:#94a3b8}.fc-daygrid-day-events{min-height:1em}.fc-timegrid-event{border-radius:4px!important}.fc-more-popover{border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 10px 25px #00000026!important}.fc-more-popover .fc-popover-header{background:var(--primary)!important;color:#fff!important;border-radius:8px 8px 0 0!important;font-weight:600!important}.badge-color-1{color:#fff!important;background:#dc3545!important}.badge-color-2{color:#fff!important;background:#0d6efd!important}.badge-color-3{color:#fff!important;background:#198754!important}.badge-color-4{color:#fff!important;background:#fd7e14!important}.badge-color-5{color:#fff!important;background:#6f42c1!important}.badge-color-6{color:#000!important;background:#0dcaf0!important}.contact-badge{cursor:pointer;transition:transform .15s}.contact-badge:hover{transform:scale(1.02)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
