:root{
  --font-ui: 'Plus Jakarta Sans', sans-serif;
  --brand-1: #0b5ea8;
  --brand-2: #1675c1;
  --accent-1: #f6b322;
  --accent-2: #ffd776;
  --navy: #073b6d;
  --muted: #6c757d;
  --sidebar-width: 256px;
}
body{background:linear-gradient(135deg,#f3f8fd 0%,#fff8eb 100%);font-family:var(--font-ui);font-size:.875rem;letter-spacing:0;color:#27334d;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;letter-spacing:0}
h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);letter-spacing:-.02em}
.hero{
  background: linear-gradient(90deg,var(--brand-1),var(--brand-2));
  color: white;
  padding: 24px 16px;
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(11,94,168,0.16);
}
.nav-brand{font-weight:700;color:white}
.card-colorful{border:0;border-radius:10px;overflow:hidden}
.card-colorful .card-header{background: linear-gradient(90deg,var(--accent-1),var(--accent-2));color:#222}
.badge-type{background: linear-gradient(90deg,var(--brand-1),var(--brand-2));color:white}
.table thead th{background:#fff6e4}
.data-table-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0}.data-table-tools input{width:min(280px,100%);padding:7px 10px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#17324d}.data-table-export{display:flex;gap:6px;flex-wrap:wrap}.data-table-search-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.table-sortable{cursor:pointer;user-select:none}.table-sortable:after{content:' ↕';color:#94a3b8;font-size:.72rem}.table-sortable.sort-asc:after{content:' ↑';color:#0b5ea8}.table-sortable.sort-desc:after{content:' ↓';color:#0b5ea8}
.table-row-number{width:52px;text-align:center;color:#64748b;font-size:.78rem}
.table-pagination{display:flex;justify-content:flex-end;padding:14px 16px}.table-pagination .pagination{margin:0}.table-pagination .page-link{color:#0b5ea8;border-color:#dbe5ef;font-size:.8rem}.table-pagination .page-link:hover{background:#edf5fc;color:#084e8d}.table-pagination .page-item.active .page-link{background:#0b5ea8;border-color:#0b5ea8}.table-pagination .page-item.disabled .page-link{color:#94a3b8}
.month-cell{min-width:54px}
.check-mark{color:var(--brand-1);font-size:18px}
.btn-brand{background: linear-gradient(90deg,var(--brand-1),var(--brand-2));border:0;color:white}

/* wide tables (schedules/grid) */
.wide-table { min-width:1400px; table-layout: fixed; }
.table-responsive { overflow-x:auto; }
/* sticky first column and header for wide tables */
.wide-table thead th { position: sticky; top: 0; z-index: 5; background: #fff6e4; }
.wide-table tbody td:first-child, .wide-table thead th.sticky-col { position: sticky; left: 0; z-index: 6; background: #fff; }
.sticky-col { position: sticky; left: 0; z-index: 6; background: #fff; }
.wide-table tbody td { vertical-align: middle; padding: 6px 8px; }
.wide-table thead th { padding: 8px 10px; }
.wide-table th[colspan] { text-align: center; }
.wide-table .week-cell { min-width:56px; text-align:center; }
.badge-check { display:inline-block; width:28px; height:28px; line-height:28px; border-radius:50%; background: #16a34a; color:#fff; font-weight:700; }
.wide-table tbody tr:nth-child(odd){ background: rgba(0,0,0,0.02); }
.wide-table thead th{ background: #fff6e4; }

/* left application navigation */
.app-sidebar{position:fixed!important;top:0;bottom:0;left:0;z-index:1030;width:var(--sidebar-width)!important;height:100vh;background:linear-gradient(180deg,#063b6c 0%,#0b5ea8 55%,#084478 100%);color:#fff;border:0;box-shadow:6px 0 22px rgba(7,59,109,.14)}
.sidebar-brand{display:flex;align-items:center;gap:11px;padding:25px 20px 22px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.14);font-weight:700;font-size:1rem}
.sidebar-brand:hover{color:#fff}.sidebar-brand small{display:block;margin-top:2px;font-size:.68rem;font-weight:500;letter-spacing:.04em;opacity:.68;text-transform:uppercase}
.sidebar-brand-mark{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:7px;background:#fff;color:#153a5f;font-size:.73rem;letter-spacing:.04em;overflow:hidden}.sidebar-brand-mark img{width:34px;height:34px;object-fit:contain}
.app-sidebar .offcanvas-body{display:flex!important;flex-direction:column;height:100%;overflow:hidden}.sidebar-nav{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 12px 18px}.sidebar-label{display:block;margin:14px 10px 6px;color:#b9d4ed;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sidebar-link{display:block;width:100%;padding:10px 12px;margin:2px 0;border:0;border-radius:5px;background:transparent;color:#eef7ff;text-align:left;text-decoration:none;font-size:.9rem;line-height:1.25}
.sidebar-link:hover,.sidebar-link:focus{background:rgba(255,255,255,.13);color:#fff}.sidebar-link-toggle::after{float:right;margin-top:7px}.sidebar-footer{position:static;flex:0 0 auto;padding:14px 20px;background:rgba(0,0,0,.12);color:#b9d4ed;font-size:.72rem}
.sidebar-ink-link{display:flex;align-items:center;gap:9px;margin-top:5px;background:#125ea8;color:#fff;font-weight:700;box-shadow:0 4px 10px rgba(0,0,0,.14)}.sidebar-ink-link:hover,.sidebar-ink-link:focus{background:#0b4d8a;color:#fff}.sidebar-ink-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid rgba(255,255,255,.55);border-radius:4px;font-size:.62rem;letter-spacing:.04em}
.sidebar-sparepart-link{display:flex;align-items:center;gap:9px;margin-top:4px;background:rgba(255,255,255,.1);color:#eef7ff;font-weight:700}.sidebar-sparepart-link:hover,.sidebar-sparepart-link:focus{background:rgba(255,255,255,.2);color:#fff}
.sidebar-license-link{display:flex;align-items:center;gap:9px;margin-top:4px;background:rgba(245,158,11,.2);color:#fff7ed;font-weight:700}.sidebar-license-link:hover,.sidebar-license-link:focus{background:rgba(245,158,11,.35);color:#fff}
.sidebar-network-link{display:flex;align-items:center;gap:9px;margin-top:4px;background:rgba(34,197,94,.18);color:#f0fdf4;font-weight:700}.sidebar-network-link:hover,.sidebar-network-link:focus{background:rgba(34,197,94,.32);color:#fff}
.sidebar-manage-dropdown .sidebar-link-toggle{display:flex;align-items:center;gap:9px}.sidebar-manage-dropdown .sidebar-menu .dropdown-item{display:flex;align-items:center;gap:8px}.sidebar-manage-dropdown .sidebar-menu .sidebar-ink-icon{width:22px;height:22px;border-color:#b9d4ed;color:#0b5ea8;font-size:.58rem}.sidebar-manage-dropdown .sidebar-menu .dropdown-item:hover .sidebar-ink-icon{border-color:#0b5ea8}
.sidebar-ticket-link{display:flex!important;align-items:center;justify-content:space-between}.ticket-notification-badge{min-width:20px;padding:2px 6px;border-radius:10px;background:var(--accent-1);color:#17324d;text-align:center;font-size:.7rem;font-weight:700}.ticket-badge-group{display:inline-flex;gap:4px}.ticket-notification-badge.badge-open{background:#ef4444;color:#fff}.ticket-notification-badge.badge-progress{background:#38bdf8;color:#082f49}.sidebar-alert-toggle{display:block;width:100%;margin:0 0 8px;padding:0;border:0;background:transparent;color:#dbeafe;text-align:left;font-size:.7rem;text-decoration:underline}.sidebar-user{margin-bottom:8px;color:#fff}.sidebar-user strong{display:block;font-size:.8rem}.sidebar-user span{display:block;color:#bfdbfe;font-size:.7rem}.sidebar-signature-link{display:block;margin:0 0 8px;color:#dbeafe;font-size:.72rem;font-weight:700;text-decoration:none}.sidebar-signature-link:hover{color:#fff;text-decoration:underline}.sidebar-logout{display:block;width:100%;margin:0 0 8px;padding:5px 8px;border:1px solid rgba(255,255,255,.35);border-radius:4px;background:transparent;color:#fff;font-size:.72rem;font-weight:700}.sidebar-logout:hover{background:rgba(255,255,255,.12)}.ticket-toast{position:fixed;right:22px;bottom:22px;z-index:1100;display:flex;flex-direction:column;gap:3px;min-width:260px;max-width:360px;padding:14px 16px;border-left:4px solid var(--accent-1);background:#fff;color:#17324d;box-shadow:0 12px 28px rgba(15,23,42,.2);opacity:0;pointer-events:none;transform:translateY(18px);transition:opacity .2s,transform .2s}.ticket-toast.show{opacity:1;pointer-events:auto;transform:translateY(0)}.ticket-toast strong{font-size:.85rem}.ticket-toast span{color:#64748b;font-size:.78rem}.ticket-toast a{color:#0b5ea8;font-size:.78rem;font-weight:700;text-decoration:none}
.sidebar-menu{min-width:210px;padding:6px;border:0;border-radius:6px;box-shadow:0 12px 28px rgba(15,23,42,.2)}.sidebar-menu .dropdown-item{padding:8px 10px;border-radius:4px;font-size:.86rem}.sidebar-menu .dropdown-item:hover{background:#eaf4fe;color:#0b5ea8}
.app-main{min-height:100vh;margin-left:var(--sidebar-width);padding:24px 28px!important}.app-main>.container{max-width:1440px}.app-main>.container-fluid.app-content{max-width:1440px}.sidebar-toggle{display:none}.sidebar-mobile-header{display:none}
.app-footer{max-width:1440px;margin:30px auto 0;padding:16px 0 0;border-top:1px solid #dbe5ef;color:#64748b;text-align:center;font-size:.76rem}
.app-topbar{position:sticky;top:14px;z-index:40;display:flex;justify-content:flex-end;align-items:center;gap:12px;width:fit-content;margin:0 0 18px auto;padding:10px 18px;background:linear-gradient(120deg,#ffffff,#f3f8fd);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 22px rgba(15,23,42,.1);backdrop-filter:blur(6px)}.topbar-user{display:flex;align-items:center;gap:8px;line-height:1.25;white-space:nowrap}.topbar-user>span:last-child{display:flex;flex-direction:column;align-items:flex-end}.topbar-profile-photo{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;overflow:hidden;border-radius:50%;background:#e0f2fe;color:#075985;font-size:.78rem;font-weight:800}.topbar-profile-photo img{width:100%;height:100%;object-fit:cover}.topbar-user>a:hover .topbar-profile-photo,.topbar-user:hover .topbar-profile-photo{box-shadow:0 0 0 2px #0b5ea8}.topbar-user-name{color:#17324d;font-size:.86rem;font-weight:700}.topbar-user-role{display:inline-block;margin-top:3px;padding:1px 8px;border-radius:10px;background:#e0f2fe;color:#0b5ea8;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.topbar-logout{padding:7px 16px;border:1px solid #fecaca;border-radius:8px;background:#fff5f5;color:#b91c1c;font-size:.78rem;font-weight:700;white-space:nowrap;transition:background .15s,box-shadow .15s}.topbar-logout:hover{background:#fee2e2;box-shadow:0 3px 8px rgba(185,28,28,.18)}
@media(max-width:600px){.app-topbar{top:8px;padding:8px 12px;border-radius:10px;gap:8px}.topbar-user-name{font-size:.76rem}.topbar-user-role{font-size:.58rem;padding:1px 6px}.topbar-logout{padding:6px 12px;font-size:.72rem}}

/* responsive tweaks */
@media (max-width:767px){
  .hero{padding:16px;font-size:14px}
  .app-main>.container,.app-main>.container-fluid{width:100%;padding-right:0;padding-left:0}
  .app-main .card{border-radius:0}
  .app-main .row{--bs-gutter-x:1rem}
  .app-main h1{font-size:1.45rem}
  .app-main h2{font-size:1.25rem}
  .app-main .d-flex.justify-content-between{align-items:flex-start!important;gap:10px}
  .app-main .d-flex.justify-content-between>.btn,.app-main .d-flex.justify-content-between>div:last-child{flex-shrink:0}
  .table-responsive{margin-right:-14px;margin-left:-14px;padding:0 14px}
  .data-table-tools{align-items:stretch;flex-direction:column}.data-table-tools input{width:100%}.data-table-search-form{width:100%;margin-left:0}.data-table-search-form input{flex:1 1 100%}.data-table-export .btn{flex:1 1 auto}
}
@media (max-width:991.98px){
  .app-sidebar{position:fixed!important;z-index:1055!important;width:min(84vw,320px)!important;height:100vh}.app-sidebar .offcanvas-body{overflow-y:auto}.sidebar-mobile-header{display:flex;align-items:center;justify-content:space-between;background:#063b6c;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}.sidebar-brand{padding-top:18px}.sidebar-footer{position:static;margin-top:10px}.app-main{margin-left:0;padding:70px 14px 24px!important}.sidebar-toggle{display:block;position:fixed;top:14px;left:14px;z-index:1060;padding:9px 13px;border:0;border-radius:6px;background:#0b5ea8;color:#fff;font-size:.84rem;font-weight:700;box-shadow:0 3px 12px rgba(7,59,109,.28)}.sidebar-menu{position:static!important;min-width:0;margin:0 0 4px;padding:0 0 0 12px;background:transparent;box-shadow:none;transform:none!important}.sidebar-menu .dropdown-item{padding:8px 10px;color:#dbeafe;font-size:.84rem}.sidebar-menu .dropdown-item:hover{background:rgba(255,255,255,.12);color:#fff}.sidebar-link-toggle::after{margin-right:2px}
}
@media (max-width:600px){.ticket-toast{right:14px;bottom:14px;left:14px;min-width:0;max-width:none}}
.print-letterhead{display:none}
@media print{.app-sidebar,.sidebar-toggle,.app-topbar{display:none!important}.app-main{margin-left:0!important}.print-letterhead{display:flex!important;align-items:center;gap:12px;margin:0 0 12px;padding:0 12px 8px;border-bottom:3px solid #0b5ea8}.print-letterhead img{width:46px;height:46px}.print-letterhead strong{display:block;font-size:15px;letter-spacing:.04em;color:#17324d}.print-letterhead span{display:block;font-size:10px;color:#64748b}.print-letterhead-meta{margin-left:auto;font-size:10px;color:#64748b}.data-table-tools,.table-pagination,.btn,form.d-inline{display:none!important}}

/* Light application shell for the operations dashboard and its related views. */
.app-sidebar{background:#fff;color:#27334d;border-right:1px solid #e8edf4;box-shadow:5px 0 20px rgba(35,52,85,.04)}
.sidebar-brand{padding:24px 20px 22px;color:#18243d;border-bottom:1px solid #edf0f5}.sidebar-brand:hover{color:#18243d}.sidebar-brand small{color:#8a95a8;opacity:1}.sidebar-brand-mark{background:#2161f5;color:#fff;border-radius:11px}.sidebar-nav{padding:18px 12px}.sidebar-label{color:#a0a9b8}
.sidebar-link{display:flex;align-items:center;gap:10px;color:#657188}.sidebar-link i{flex:0 0 18px;font-size:1rem;text-align:center;color:#9aa5b8}.sidebar-link:hover,.sidebar-link:focus{background:#f1f4f9;color:#2161f5}.sidebar-link:hover i,.sidebar-link:focus i{color:#2161f5}
.sidebar-link.active{font-weight:700;background:linear-gradient(90deg,var(--brand-1),var(--brand-2));color:#fff;box-shadow:0 8px 16px rgba(11,94,168,.22)}.sidebar-link.active i{color:#fff}
.sidebar-ticket-link{justify-content:space-between}.sidebar-ticket-link span:not(.ticket-badge-group){flex:1 1 auto}
.dropdown-item{display:flex;align-items:center;gap:8px}.dropdown-item i{flex:0 0 16px;font-size:.86rem;text-align:center;color:#94a3b8}.dropdown-item:hover i{color:#0b5ea8}
.sidebar-link-toggle i{flex:0 0 18px;font-size:1rem;text-align:center;color:#9aa5b8;margin-right:0}
.sidebar-footer{background:#f8fafc;color:#8a95a8}.sidebar-signature-link{display:flex;align-items:center;gap:8px;color:#657188}.sidebar-signature-link:hover{color:#2161f5}.sidebar-signature-link i,.sidebar-alert-toggle i{flex:0 0 16px;font-size:.84rem;text-align:center}.sidebar-alert-toggle{display:flex;align-items:center;gap:8px;color:#2161f5}
.app-main{background:#f7f9fc}.app-topbar{width:auto;margin:0 -28px 24px;padding:12px 28px;border:0;border-bottom:1px solid #e8edf4;border-radius:0;background:#fff;box-shadow:none}.topbar-user-name{color:#18243d}.topbar-user-role{background:#eef3ff;color:#2161f5}
@media(max-width:991.98px){.app-main{background:#f7f9fc}.app-topbar{margin:0 -14px 22px;padding:10px 14px}.sidebar-mobile-header{background:#fff;color:#18243d;border-bottom-color:#e8edf4}.sidebar-mobile-header .btn-close{filter:none}.app-sidebar{box-shadow:8px 0 24px rgba(35,52,85,.12)}}
.sidebar-link{min-height:42px;font-weight:600}.sidebar-link-toggle{font-weight:600}.sidebar-label{font-weight:800;letter-spacing:.1em}.sidebar-link-toggle.show,.sidebar-link-toggle:hover{background:#f1f4f9;color:#2161f5}.sidebar-menu{min-width:230px;padding:8px;border:1px solid #e8edf4;border-radius:12px;box-shadow:0 16px 32px rgba(35,52,85,.13)}.sidebar-menu .dropdown-item{min-height:38px;padding:9px 10px;border-radius:8px;color:#657188;font-size:.78rem;font-weight:600}.sidebar-menu .dropdown-item:hover,.sidebar-menu .dropdown-item:focus{background:#eef3ff;color:#2161f5}.sidebar-footer{font-size:.7rem}.sidebar-signature-link{font-weight:600}

/* ===== Global modern CRUD theme (applies to every module page) ===== */
:root{--brand-1:#2161f5;--brand-2:#3b82f6;--accent-1:#14b8a6;--accent-2:#5eead4;--rose:#f43f5e;--ink-navy:#18243d;--ink-muted:#8792a7}
.app-content,.container,.container-fluid{color:var(--ink-navy)}
.card{border-radius:16px;border-color:#e7ebf2;box-shadow:0 5px 18px rgba(35,52,85,.045)}
.card-body{padding:20px}
.card-header{padding:16px 20px;background:#fff;border-bottom:1px solid #edf0f5;color:var(--ink-navy);font-weight:800}
.card-colorful{border-radius:16px;box-shadow:0 5px 18px rgba(35,52,85,.045)}
.card-colorful .card-header{background:#fff;color:var(--ink-navy)}
.btn{border-radius:10px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s,color .15s}
.btn-sm{border-radius:8px}
.btn-lg{border-radius:12px}
.btn:hover{transform:translateY(-1px)}
.btn-brand,.btn-primary{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));border:0;color:#fff;box-shadow:0 8px 16px rgba(33,97,245,.18)}
.btn-brand:hover,.btn-primary:hover{color:#fff;box-shadow:0 10px 20px rgba(33,97,245,.24)}
.btn-outline-primary{border-color:#c3d5ff;color:var(--brand-1)}
.btn-outline-primary:hover{background:var(--brand-1);border-color:var(--brand-1);color:#fff}
.btn-outline-secondary{border-color:#dfe5ee;color:#68758d}
.btn-outline-secondary:hover{background:#68758d;border-color:#68758d;color:#fff}
.btn-outline-success{border-color:#bfe8d4;color:#0f9c6c}
.btn-outline-success:hover{background:#0f9c6c;border-color:#0f9c6c;color:#fff}
.btn-outline-danger{border-color:#f7c8ce;color:#dc5260}
.btn-outline-danger:hover{background:#dc5260;border-color:#dc5260;color:#fff}
.btn-outline-dark{border-color:#dfe5ee;color:#34415a}
.btn-outline-dark:hover{background:#34415a;border-color:#34415a;color:#fff}
.form-control,.form-select{border-radius:9px;border-color:#dfe5ee;color:var(--ink-navy)}
.form-control:focus,.form-select:focus{border-color:#93b4ff;box-shadow:0 0 0 3px rgba(33,97,245,.12)}
.form-label{font-weight:700;color:#69758d;font-size:.72rem;letter-spacing:.03em;text-transform:uppercase}
.table thead th{background:#f8fafc;color:#7d899e;font-weight:800;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #e8edf4;white-space:nowrap}
.table tbody td{color:#3f4a63;vertical-align:middle}
.table tbody tr:hover{background:#f8faff}
.wide-table thead th{background:#f8fafc}
.badge{border-radius:999px;font-weight:700;letter-spacing:.02em}
.alert{border-radius:12px;border:0}
.alert-success{background:#e2f8f4;color:#0f9c6c}
.alert-danger{background:#ffeef0;color:#dc5260}
.data-table-tools input{border-radius:999px;padding:8px 14px}
.pagination .page-link{border-radius:8px;margin:0 3px;border-color:#e2e8f0;color:var(--brand-1);font-size:.8rem}
.pagination .page-link:hover{background:#eef3ff;color:var(--brand-1)}
.pagination .page-item.active .page-link{background:var(--brand-1);border-color:var(--brand-1)}
.pagination .page-item.disabled .page-link{color:#b3bccb}
.table-pagination .page-link{color:var(--brand-1)}
.table-pagination .page-link:hover{background:#eef3ff;color:var(--brand-1)}
.table-pagination .page-item.active .page-link{background:var(--brand-1);border-color:var(--brand-1)}
@media(max-width:767px){.card-body{padding:15px}.card-header{padding:14px 15px}}

/* Checklist and scheduling workspace */
.maintenance-check-page,.web-check-page,.checklist-detail,.schedule-page,.monthly-schedule-page{max-width:1480px;color:var(--ink-navy)}
.checklist-filter,.checklist-schedule-picker,.checklist-document,.repair-reference,.schedule-form,.monthly-schedule-form{border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 5px 18px rgba(35,52,85,.045);overflow:hidden;background:#fff}
.checklist-filter .card-header,.checklist-schedule-picker .card-header,.checklist-document .card-header,.schedule-form .card-header,.monthly-schedule-form .card-header{padding:16px 20px;background:#fff;border-bottom:1px solid #edf0f5;color:var(--ink-navy);font-weight:800}
.checklist-filter .form-control,.checklist-filter .form-select,.checklist-schedule-picker .form-control,.checklist-schedule-picker .form-select,.checklist-document .form-control,.checklist-document .form-select,.schedule-form .form-control,.schedule-form .form-select,.monthly-schedule-form .form-control,.monthly-schedule-form .form-select{border-radius:9px;border-color:#dfe5ee}
.checklist-filter .form-control:focus,.checklist-filter .form-select:focus,.checklist-schedule-picker .form-control:focus,.checklist-schedule-picker .form-select:focus,.checklist-document .form-control:focus,.checklist-document .form-select:focus,.schedule-form .form-control:focus,.schedule-form .form-select:focus,.monthly-schedule-form .form-control:focus,.monthly-schedule-form .form-select:focus{border-color:#c4b5fd;box-shadow:0 0 0 3px rgba(124,92,252,.11)}
.maintenance-check-page>div:first-child,.web-check-page>div:first-child,.monthly-schedule-page>.row:first-child>div:first-child{padding:4px 4px 18px;border-bottom:1px solid #e8edf4}
.maintenance-eyebrow,.web-check-eyebrow{color:var(--brand-1);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.maintenance-check-page h2,.web-check-page h2,.monthly-schedule-page h2,.schedule-page h1{color:var(--ink-navy);font-weight:800;letter-spacing:-.03em}
.maintenance-check-page .text-muted,.web-check-page .text-muted,.monthly-schedule-page .text-muted{color:var(--ink-muted)!important;font-size:.78rem}
.maintenance-check-page .btn-brand,.web-check-page .btn-brand,.monthly-schedule-page .btn-primary,.schedule-page .btn-brand{border:0;border-radius:10px;background:linear-gradient(135deg,#7c5cfc,#a78bfa);box-shadow:0 8px 16px rgba(124,92,252,.18);font-weight:700}
.maintenance-check-page form.border,.monthly-schedule-page form.border{border:1px solid #e7ebf2!important;border-radius:14px!important;background:#fff!important;box-shadow:0 5px 18px rgba(35,52,85,.045)}
.maintenance-check-page .form-control,.maintenance-check-page .form-select,.web-check-page .form-control,.web-check-page .form-select,.monthly-schedule-page .form-control,.monthly-schedule-page .form-select,.schedule-page .form-control,.schedule-page .form-select{min-height:40px;border-radius:9px;border-color:#dfe5ee;font-size:.74rem}
.maintenance-check-page .form-control:focus,.maintenance-check-page .form-select:focus,.web-check-page .form-control:focus,.web-check-page .form-select:focus,.monthly-schedule-page .form-control:focus,.monthly-schedule-page .form-select:focus,.schedule-page .form-control:focus,.schedule-page .form-select:focus{border-color:#c4b5fd;box-shadow:0 0 0 3px rgba(124,92,252,.11)}
.maintenance-check-page .maintenance-stat,.web-check-page .web-stat,.monthly-schedule-page .border.rounded.p-3.bg-white{position:relative;min-height:105px;padding:18px!important;border:1px solid #e7ebf2!important;border-top:0!important;border-radius:14px!important;background:#fff!important;box-shadow:0 5px 18px rgba(35,52,85,.045)}
.maintenance-check-page .maintenance-stat span,.web-check-page .web-stat span,.monthly-schedule-page .border.rounded.p-3.bg-white .text-muted{color:#78849a;font-size:.7rem;font-weight:700}.maintenance-check-page .maintenance-stat strong,.web-check-page .web-stat strong,.monthly-schedule-page .border.rounded.p-3.bg-white strong{display:block;margin-top:8px;color:var(--ink-navy);font-size:1.65rem;font-weight:800}.maintenance-check-page .maintenance-stat small,.web-check-page .web-stat small{color:var(--ink-muted);font-size:.66rem}
.maintenance-check-page .card,.web-check-page .card,.schedule-page .card,.monthly-schedule-page .card{border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 5px 18px rgba(35,52,85,.045);overflow:hidden}.maintenance-check-page .card-header,.web-check-page .card-header,.schedule-page .card-header,.monthly-schedule-page .card-header{padding:16px 20px;background:#fff;border-bottom:1px solid #edf0f5;color:var(--ink-navy);font-weight:800}.maintenance-check-page .card-header span,.web-check-page .card-header strong,.schedule-page .card-header,.monthly-schedule-page .card-header{font-size:.88rem}
.maintenance-check-page .data-table-export,.maintenance-check-page .data-table-search-form{gap:7px}.maintenance-check-page .data-table-export .btn,.maintenance-check-page .card-header .btn{border-radius:8px;font-size:.68rem;font-weight:700}.maintenance-check-page .data-table-search-form input{border-radius:999px}.maintenance-check-page .table,.web-check-page .table,.schedule-page .table,.monthly-schedule-page .table{font-size:.75rem}.maintenance-check-page .table thead th,.web-check-page .table thead th,.schedule-page .table thead th,.monthly-schedule-page .table thead th{padding:13px 14px;background:#f8f7ff;color:#7d899e;font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #e8edf4}.maintenance-check-page .table tbody td,.web-check-page .table tbody td,.schedule-page .table tbody td,.monthly-schedule-page .table tbody td{padding:13px 14px;border-color:#eef1f5;color:#536079}.maintenance-check-page .table tbody tr:hover,.web-check-page .table tbody tr:hover,.schedule-page .table tbody tr:hover,.monthly-schedule-page .table tbody tr:hover{background:#faf9ff}
.maintenance-check-page .result-badge,.web-check-page .check-type{border-radius:999px;padding:5px 9px;font-size:.65rem;font-weight:700}.maintenance-check-page .result-ok{background:#e2f8f4;color:#0f9c8a}.maintenance-check-page .result-not_ok{background:#ffeef0;color:#e11d48}.web-check-page .check-type-security{background:#ffeef0;color:#e11d48}.web-check-page .check-type-functional{background:#efeafe;color:#6b46d9}.maintenance-check-page .program-dot,.web-check-page .program-dot,.schedule-page .program-dot,.monthly-schedule-page .program-dot{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--program-color,#7c5cfc)}
.maintenance-check-page .btn-sm,.web-check-page .btn-sm,.schedule-page .btn-sm,.monthly-schedule-page .btn-sm{border-radius:8px;font-size:.68rem;font-weight:700}.schedule-page .table .btn,.monthly-schedule-page .table .btn{white-space:nowrap}
.schedule-page,.monthly-schedule-page{padding-top:4px}.monthly-schedule-page .alert-warning{border:1px solid #f6d99a;border-radius:14px;background:#fffaf0;color:#805d19}.monthly-schedule-page .alert-warning .btn{border-radius:999px}.monthly-schedule-page .table-warning th{background:#f8f7ff!important}
@media(max-width:767px){.maintenance-check-page>div:first-child,.web-check-page>div:first-child{gap:14px;flex-direction:column!important}.maintenance-check-page>div:first-child>.btn,.web-check-page>div:first-child>.btn{align-self:stretch}.maintenance-check-page .card-header,.web-check-page .card-header{align-items:flex-start!important;gap:10px;flex-direction:column}.maintenance-check-page .data-table-tools{width:100%;align-items:stretch;flex-direction:column}.maintenance-check-page .data-table-search-form{width:100%;margin-left:0}.maintenance-check-page .data-table-search-form input{width:100%}.schedule-page .card-body,.monthly-schedule-page .card-body{padding:15px}.schedule-page .table-responsive,.monthly-schedule-page .table-responsive{margin:0;padding:0}}
.schedule-form-page h1,.schedule-form-page h3{margin:0 0 18px;color:var(--ink-navy);font-size:1.7rem;font-weight:800;letter-spacing:-.03em}.schedule-form-page form>div:not(.card){max-width:980px}.schedule-form-page form{padding:22px;border:1px solid #e7ebf2;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(35,52,85,.06)}.schedule-form-page .card{box-shadow:none;border-color:#e7ebf2}.schedule-form-page .card[style*="max-height"]{border-radius:12px!important;border-color:#e7ebf2!important;background:#faf9ff}.schedule-form-page input[type="checkbox"]{accent-color:#7c5cfc}.schedule-form-page .btn{border-radius:9px;font-weight:700}.monthly-schedule-form-page h2{color:var(--ink-navy)!important;font-size:1.7rem!important;font-weight:800}.monthly-schedule-form-page .border.rounded{border-color:#e7ebf2!important;border-radius:14px!important;background:#fff!important}.monthly-schedule-form-page .date-badge{border-radius:999px!important;box-shadow:0 3px 8px rgba(35,52,85,.08)}
.checklist-detail .checklist-hero{border-radius:16px!important;box-shadow:0 12px 28px rgba(33,97,245,.16)}.checklist-detail .checklist-stat{border:1px solid #e7ebf2;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(35,52,85,.045)}.checklist-detail .checklist-document{overflow:hidden}.checklist-detail .checklist-table thead th{background:#f8f7ff;color:#7d899e;font-size:.64rem;text-transform:uppercase;letter-spacing:.04em}.checklist-detail .btn{border-radius:9px;font-weight:700}
.repair-form-page{max-width:1180px;margin-top:0!important}.repair-form-page>div:first-child{padding:4px 4px 18px;border-bottom:1px solid #e8edf4}.repair-form-eyebrow{margin-bottom:5px;color:#f43f5e;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.repair-form-page h2{font-size:1.7rem;font-weight:800;color:#18243d;letter-spacing:-.03em}.repair-form-page .text-muted{color:#8792a7!important;font-size:.78rem}.repair-form-page .repair-form{border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 8px 24px rgba(35,52,85,.06);overflow:hidden}.repair-form-page .repair-form .card-header{display:flex;align-items:center;gap:8px;padding:18px 22px;background:linear-gradient(135deg,#fff7f8,#faf9ff);color:#18243d;font-size:.88rem;font-weight:800}.repair-form-page .repair-form .card-header i{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:#ffeef0;color:#f43f5e;font-size:.86rem}.repair-form-page .repair-form .card-header span{margin-left:3px;color:#a0a9b8;font-size:.68rem;font-weight:600}.repair-form-page .repair-form .card-body{padding:24px}.repair-form-page .form-label{margin-bottom:6px;color:#69758d;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.repair-form-page .form-control,.repair-form-page .form-select{min-height:42px;border:1px solid #dfe5ee;border-radius:10px;background:#fbfcfe;color:#34415a;font-size:.76rem}.repair-form-page .form-control:focus,.repair-form-page .form-select:focus{border-color:#f7a2ae;box-shadow:0 0 0 3px rgba(244,63,94,.1);background:#fff}.repair-form-page textarea.form-control{min-height:100px;resize:vertical;line-height:1.55}.repair-form-page .form-text{margin-top:6px;color:#9aa5b8;font-size:.67rem}.repair-form-page #equipmentSearch{border-radius:10px 10px 7px 7px}.repair-form-page #equipmentSelect{border-radius:7px 7px 10px 10px}.repair-form-page .card-footer{padding:16px 22px;border-top:1px solid #edf0f5;background:#fbfcfe}.repair-form-page .btn{border-radius:10px;font-weight:700}.repair-form-page .btn-brand{background:linear-gradient(135deg,#f43f5e,#fb7185);border:0;box-shadow:0 8px 16px rgba(244,63,94,.18)}.repair-form-page .btn-brand i{margin-right:7px}.repair-form-page .alert{margin:0 0 16px;border-radius:12px}.repair-form-page .repair-form .row{row-gap:18px}
@media(max-width:767px){.repair-form-page>div:first-child{align-items:flex-start!important;gap:14px;flex-direction:column}.repair-form-page>div:first-child>.btn{align-self:stretch}.repair-form-page .repair-form .card-body{padding:16px}.repair-form-page .repair-form .card-header{padding:15px 16px}.repair-form-page .repair-form .card-footer{padding:14px 16px}.repair-form-page .repair-form .card-footer .btn{width:100%}}
.workflow-eyebrow{color:#7c5cfc;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.innovation-page{max-width:1480px}.innovation-page h2{font-size:1.8rem;font-weight:800;color:var(--ink-navy);letter-spacing:-.03em}.innovation-page>div:first-child{padding:4px 4px 18px;border-bottom:1px solid #e8edf4}.innovation-page .btn-primary{border-radius:10px;background:linear-gradient(135deg,#7c5cfc,#a78bfa);border:0;box-shadow:0 8px 16px rgba(124,92,252,.18);font-weight:700}.innovation-page .btn-primary i{margin-right:7px}.innovation-page form{padding:18px;border:1px solid #e7ebf2;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(35,52,85,.045)}.innovation-page .table{font-size:.76rem}.innovation-page .table thead th{background:#f8f7ff;color:#7d899e;font-size:.64rem;text-transform:uppercase;letter-spacing:.04em}.innovation-page .table tbody td{padding:14px;border-color:#eef1f5}.innovation-page .table tbody tr:hover{background:#faf9ff}.innovation-page .table-pagination{padding-top:14px}.innovation-page .card{overflow:hidden}.innovation-page .form-control,.innovation-page .form-select{border-radius:9px}
.target-modern-page{max-width:1480px}.target-modern-page .target-kicker{color:#14b8a6;font-weight:800;letter-spacing:.13em}.target-modern-page .target-sheet{border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 8px 24px rgba(35,52,85,.06);overflow:hidden;background:#fff}.target-modern-page .target-table{font-size:.74rem}.target-modern-page .target-table th{background:#f8f7ff;color:#7d899e;font-size:.64rem;letter-spacing:.04em}.target-modern-page .target-table td{border-color:#eef1f5}.target-modern-page .target-input{border-color:#c4b5fd;border-radius:8px}.target-modern-page .target-result{border-radius:999px}.target-modern-page .target-actions .btn{border-radius:9px;font-weight:700}
.report-page{max-width:1480px}.report-page .report-header{border:1px solid #e7ebf2;border-left:4px solid #7c5cfc;border-radius:16px;background:linear-gradient(135deg,#fff,#faf9ff);box-shadow:0 7px 20px rgba(92,71,207,.06)}.report-page .report-eyebrow,.report-page .report-kicker{color:#7c5cfc;font-weight:800;letter-spacing:.13em}.report-page .report-header h1{color:var(--ink-navy);font-weight:800;letter-spacing:-.03em}.report-page .report-stat{min-height:105px;padding:18px;border:1px solid #e7ebf2;border-top:0;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(35,52,85,.045)}.report-page .report-stat span{color:#78849a;font-size:.7rem;font-weight:700}.report-page .report-stat strong{display:block;margin-top:8px;color:var(--ink-navy);font-size:1.6rem;font-weight:800}.report-page .report-stat small{color:var(--ink-muted);font-size:.66rem}.report-page .report-filter,.report-page .report-table-section{border:1px solid #e7ebf2;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(35,52,85,.045);overflow:hidden}.report-page .report-filter{padding:18px}.report-page .report-table-heading{padding:18px 20px;border-bottom:1px solid #edf0f5}.report-page .report-table{font-size:.75rem}.report-page .report-table thead th{background:#f8f7ff;color:#7d899e;font-size:.64rem;text-transform:uppercase;letter-spacing:.04em}.report-page .report-table tbody td{border-color:#eef1f5}.report-page .report-table tbody tr:hover{background:#faf9ff}.report-page .btn{border-radius:9px;font-weight:700}.report-page .form-control,.report-page .form-select{border-radius:9px}
@media(max-width:767px){.innovation-page>div:first-child,.monthly-schedule-page>.row:first-child>div:first-child{gap:14px;flex-direction:column!important}.innovation-page>div:first-child>.btn{align-self:stretch}.report-page .report-header{padding:18px}.report-page .report-table-section{overflow-x:auto}}
.report-meter{height:5px;min-width:72px;margin-top:8px;border-radius:999px;background:#edf0f5;overflow:hidden}.report-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7c5cfc,#a78bfa)}.report-meter.rose span{background:linear-gradient(90deg,#f43f5e,#fb7185)}.report-meter.teal span{background:linear-gradient(90deg,#14b8a6,#5eead4)}.report-stat .report-meter,.summary-card .report-meter{max-width:140px}.report-card .report-meter{max-width:180px}
@media print{.report-meter{display:none!important}}
.report-insight{display:flex;align-items:flex-start;gap:12px;margin:16px 0;padding:14px 17px;border:1px solid #ddd6fe;border-radius:14px;background:linear-gradient(135deg,#faf9ff,#f4f1ff);color:#536079}.report-insight>i{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;border-radius:10px;background:#e9e3ff;color:#7c5cfc;font-size:.9rem}.report-insight strong{display:block;margin-bottom:3px;color:#46339b;font-size:.76rem;font-weight:800}.report-insight span{display:block;font-size:.74rem;line-height:1.5}.repair-insight{border-color:#ffd4db;background:linear-gradient(135deg,#fffafb,#fff2f4)}.repair-insight>i{background:#ffe3e8;color:#e11d48}.repair-insight strong{color:#be2945}.checklist-insight{border-color:#bdece4;background:linear-gradient(135deg,#f8fffe,#effcf9)}.checklist-insight>i{background:#d8f7f1;color:#0f9c8a}.checklist-insight strong{color:#0f796e}.activity-insight{border-color:#cfe0ff;background:linear-gradient(135deg,#fbfdff,#eef4ff)}.activity-insight>i{background:#dfeaff;color:#2161f5}.activity-insight strong{color:#1b55c7}
@media print{.report-insight{display:none!important}}
.campaign-page{max-width:1480px;color:var(--ink-navy)}.campaign-heading,.campaign-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:4px 4px 18px;border-bottom:1px solid #e8edf4;margin-bottom:18px}.campaign-page-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:linear-gradient(135deg,#7c5cfc,#a78bfa);color:#fff;font-size:1.15rem;box-shadow:0 8px 16px rgba(124,92,252,.24)}.campaign-eyebrow{color:#7c5cfc;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.campaign-page h1{margin:4px 0;color:var(--ink-navy);font-size:1.8rem;font-weight:800;letter-spacing:-.03em}.campaign-page p{color:#8792a7;font-size:.78rem}.campaign-page .btn-brand{border:0;border-radius:10px;background:linear-gradient(135deg,#7c5cfc,#a78bfa);box-shadow:0 8px 16px rgba(124,92,252,.2);font-weight:700}.campaign-page .btn i{margin-right:6px}
.campaign-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.campaign-stat{position:relative;min-height:112px;padding:18px 20px;border:1px solid #e7ebf2;border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(35,52,85,.05);overflow:hidden}.campaign-stat:after{content:'';position:absolute;right:-24px;bottom:-35px;width:90px;height:90px;border-radius:50%;background:currentColor;opacity:.06}.campaign-stat span,.campaign-stat small{display:block;color:#78849a;font-size:.7rem;font-weight:700}.campaign-stat strong{display:block;margin:8px 0 3px;color:var(--ink-navy);font-size:1.75rem;font-weight:800}.campaign-stat small{color:#94a0b2;font-size:.65rem}.stat-total{color:#7c5cfc}.stat-active{color:#14b8a6}.stat-planned{color:#f3b54b}.stat-completed{color:#2161f5}
.campaign-filter,.campaign-form-card,.campaign-detail-page .card{border:1px solid #e7ebf2;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(35,52,85,.045)}.campaign-filter{margin-bottom:18px}.campaign-filter .card-body{padding:18px}.campaign-page .form-label{color:#69758d;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.campaign-page .form-control,.campaign-page .form-select{min-height:40px;border-radius:9px;border-color:#dfe5ee;background:#fbfcfe;font-size:.75rem}.campaign-page .form-control:focus,.campaign-page .form-select:focus{border-color:#c4b5fd;box-shadow:0 0 0 3px rgba(124,92,252,.12);background:#fff}
.campaign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:15px}.campaign-card{position:relative;min-height:300px;padding:18px;border:1px solid #e7ebf2;border-radius:16px;background:linear-gradient(150deg,#fff,#fbfaff);box-shadow:0 6px 18px rgba(35,52,85,.045);transition:transform .15s,box-shadow .15s}.campaign-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(92,71,207,.12)}.campaign-card-top,.campaign-card-footer,.campaign-progress-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.campaign-status{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:.63rem;font-weight:800}.status-planned{background:#fff5dc;color:#b77908}.status-active{background:#e2f8f4;color:#0f9c8a}.status-paused{background:#eef1f6;color:#657188}.status-completed{background:#eef3ff;color:#2161f5}.status-archived{background:#f1f3f6;color:#7d899e}.campaign-code{color:#a0a9b8;font-size:.6rem;font-weight:700}.campaign-card h2{margin:16px 0 6px;color:#18243d;font-size:1rem;font-weight:800}.campaign-card>p{min-height:38px;margin:0;color:#8792a7;font-size:.7rem;line-height:1.5}.campaign-progress{margin:18px 0}.campaign-progress-label{color:#78849a;font-size:.67rem;font-weight:700}.campaign-progress-label strong{color:#7c5cfc;font-size:.78rem}.campaign-progress-track{height:7px;margin-top:8px;border-radius:999px;background:#ece9fb;overflow:hidden}.campaign-progress-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7c5cfc,#a78bfa)}.campaign-card-meta{display:grid;gap:7px;color:#69758d;font-size:.66rem}.campaign-card-meta span{display:flex;align-items:center;gap:7px}.campaign-card-meta i{width:15px;color:#7c5cfc}.campaign-card-footer{margin-top:17px;padding-top:13px;border-top:1px solid #edf0f5}.campaign-card-footer small{color:#94a0b2;font-size:.63rem}.campaign-card-footer .btn{font-size:.64rem;padding:6px 8px}.campaign-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:260px;padding:30px;border:1px dashed #cfc7fa;border-radius:16px;background:#faf9ff;color:#7c5cfc;grid-column:1/-1;text-align:center;flex-direction:column}.campaign-empty i{font-size:2rem}.campaign-empty strong{color:#46339b;font-size:.9rem}.campaign-empty span{color:#8792a7;font-size:.72rem}
.campaign-form-page{max-width:1180px}.campaign-form-card .card-header{display:flex;align-items:center;gap:9px;padding:18px 22px;background:linear-gradient(135deg,#faf9ff,#f5fffd);border-bottom:1px solid #edf0f5}.campaign-form-card .card-header i{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:#efeafe;color:#7c5cfc}.campaign-form-card .card-header span{margin-left:3px;color:#a0a9b8;font-size:.66rem}.campaign-form-card .card-body{padding:24px}.campaign-form-card .card-footer{padding:16px 22px;border-top:1px solid #edf0f5;background:#fbfcfe}.campaign-progress-preview{padding-top:7px}.campaign-progress-preview>span{display:block;margin-bottom:9px;color:#7c5cfc;font-weight:800}.campaign-progress-preview>div{height:7px;border-radius:999px;background:#ece9fb;overflow:hidden}.campaign-progress-preview i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7c5cfc,#a78bfa)}
.campaign-detail-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px;padding:25px 28px;border-radius:18px;background:linear-gradient(135deg,#7c5cfc,#a78bfa);color:#fff;box-shadow:0 12px 28px rgba(124,92,252,.2)}.campaign-detail-hero .campaign-eyebrow{color:#ede9fe}.campaign-detail-hero h1{margin:9px 0 5px;color:#fff}.campaign-detail-hero p{max-width:680px;margin:0;color:#f5f3ff}.campaign-detail-actions{display:flex;gap:8px}.campaign-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:16px}.campaign-detail-page .card-header{padding:17px 20px;border-bottom:1px solid #edf0f5;font-size:.86rem;font-weight:800}.campaign-detail-page .card-header i{margin-right:8px;color:#7c5cfc}.campaign-detail-page .card-body{padding:20px}.detail-progress>div:first-child{display:flex;justify-content:space-between;color:#78849a;font-size:.7rem;font-weight:700}.detail-progress strong{color:#7c5cfc;font-size:1.4rem}.detail-progress small{display:block;margin-top:8px;color:#94a0b2;font-size:.68rem}.campaign-description{margin-top:20px;padding-top:16px;border-top:1px solid #edf0f5}.campaign-description span,.campaign-detail-side dt{color:#94a0b2;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.campaign-description p{margin:7px 0 0;white-space:pre-line}.campaign-detail-side dl{display:grid;grid-template-columns:1fr;gap:5px;margin:0}.campaign-detail-side dd{margin:0 0 10px;color:#34415a;font-size:.75rem;font-weight:700}.campaign-delete-form{margin-top:14px;text-align:right}
.campaign-todo{margin-top:16px}.campaign-todo .card-header{display:flex;align-items:center;justify-content:space-between}.campaign-todo .card-header>div{font-size:.86rem;font-weight:800}.campaign-todo .card-header span{color:#8792a7;font-size:.68rem;font-weight:700}.todo-create-form{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(120px,.7fr)) auto;gap:10px;align-items:end;padding-bottom:18px;border-bottom:1px solid #edf0f5}.todo-create-form .form-label{margin-bottom:5px}.todo-create-form .btn{height:40px;white-space:nowrap}.todo-list{display:grid;gap:8px;margin-top:16px}.todo-row{display:grid;grid-template-columns:minmax(180px,1.7fr) repeat(4,minmax(110px,.65fr)) 34px;gap:8px;align-items:center;padding:10px;border:1px solid #edf0f5;border-radius:11px;background:#fbfcff}.todo-row .form-control,.todo-row .form-select{min-height:34px;padding:5px 8px;font-size:.68rem}.todo-title small{display:block;margin:5px 2px 0;color:#a0a9b8;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todo-status{font-weight:700}.todo-row:has(.todo-status.status-done){background:#f5fffd;border-color:#d7f3ed}.todo-delete-form{display:none}.todo-row+.todo-delete-form{display:block;position:relative;margin-top:-44px;margin-left:auto;width:34px;z-index:2}.todo-row+.todo-delete-form button{height:34px;padding:0}.todo-empty{display:flex;align-items:center;justify-content:center;gap:9px;padding:28px;border:1px dashed #cfc7fa;border-radius:12px;background:#faf9ff;color:#8792a7;font-size:.72rem}.todo-empty i{color:#7c5cfc;font-size:1.1rem}
@media(max-width:767px){.campaign-heading,.campaign-form-heading{align-items:flex-start;flex-direction:column}.campaign-heading>.btn,.campaign-form-heading>.btn{align-self:stretch}.campaign-stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.campaign-stat{min-height:100px;padding:14px}.campaign-stat strong{font-size:1.4rem}.campaign-grid{grid-template-columns:1fr}.campaign-form-card .card-body{padding:16px}.campaign-detail-hero{padding:20px;flex-direction:column}.campaign-detail-actions{width:100%}.campaign-detail-actions .btn{flex:1}.campaign-detail-grid{grid-template-columns:1fr}}
@media(max-width:900px){.todo-create-form{grid-template-columns:repeat(2,1fr)}.todo-create-form>div:first-child{grid-column:1/-1}.todo-create-form .btn{width:100%}.todo-row{grid-template-columns:minmax(150px,1fr) repeat(2,minmax(100px,.7fr)) 34px}.todo-row select:nth-of-type(2),.todo-row input[type="date"]{grid-column:span 1}}
.ink-page,.sparepart-page,.license-page,.cctv-page,.inventory-page{max-width:1480px!important;color:var(--ink-navy)}
.ink-page .ink-hero,.sparepart-page .sparepart-hero,.license-page .license-hero,.cctv-page .cctv-hero{position:relative;padding:28px 32px;border-radius:18px;box-shadow:0 12px 28px rgba(35,52,85,.12);overflow:hidden}.ink-page .ink-hero:after,.sparepart-page .sparepart-hero:after,.license-page .license-hero:after,.cctv-page .cctv-hero:after{content:'';position:absolute;right:-55px;top:-80px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.1)}
.ink-page .ink-hero{background:linear-gradient(135deg,#2161f5,#38bdf8)}.sparepart-page .sparepart-hero{background:linear-gradient(135deg,#334155,#14b8a6)}.license-page .license-hero{background:linear-gradient(135deg,#7c5cfc,#a78bfa)}.cctv-page .cctv-hero{background:linear-gradient(135deg,#18243d,#2161f5)}
.ink-page .ink-hero-mark,.sparepart-page .sparepart-hero-mark,.license-page .license-mark,.cctv-page .cctv-mark{position:relative;z-index:1;border-radius:14px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35)}
.ink-page .ink-stat,.sparepart-page .sparepart-stat,.license-page .license-stat,.cctv-page .cctv-stat,.inventory-page .border.bg-white{position:relative;min-height:110px;padding:18px 20px;border:1px solid #e7ebf2;border-top:0;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(35,52,85,.05);overflow:hidden}.ink-page .ink-stat:after,.sparepart-page .sparepart-stat:after,.license-page .license-stat:after,.cctv-page .cctv-stat:after{content:'';position:absolute;right:-20px;bottom:-30px;width:80px;height:80px;border-radius:50%;background:currentColor;opacity:.06}.ink-page .ink-stat span,.sparepart-page .sparepart-stat span,.license-page .license-stat span,.cctv-page .cctv-stat span,.inventory-page .border.bg-white .text-muted{color:#78849a;font-size:.7rem;font-weight:700}.ink-page .ink-stat strong,.sparepart-page .sparepart-stat strong,.license-page .license-stat strong,.cctv-page .cctv-stat strong,.inventory-page .border.bg-white strong{display:block;margin-top:8px;color:var(--ink-navy);font-size:1.7rem;font-weight:800}.ink-page .ink-stat small,.sparepart-page .sparepart-stat small,.license-page .license-stat small,.cctv-page .cctv-stat small{color:#94a0b2;font-size:.66rem}
.ink-page .card,.sparepart-page .card,.license-page .card,.cctv-page .card,.inventory-page .card{border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 5px 18px rgba(35,52,85,.045);overflow:hidden}.ink-page .card-header,.sparepart-page .card-header,.license-page .card-header,.cctv-page .card-header,.inventory-page .card-header{padding:17px 20px;background:#fff;border-bottom:1px solid #edf0f5}.ink-page .card-header h2,.sparepart-page .card-header h2,.license-page .card-header h2,.cctv-page .card-header h2{font-weight:800}.ink-page .card-body,.sparepart-page .card-body,.license-page .card-body,.cctv-page .card-body{padding:20px}
.ink-page .form-control,.ink-page .form-select,.sparepart-page .form-control,.sparepart-page .form-select,.license-page .form-control,.license-page .form-select,.cctv-page .form-control,.cctv-page .form-select,.inventory-page .form-control,.inventory-page .form-select{min-height:40px;border-radius:9px;border-color:#dfe5ee;background:#fbfcfe;font-size:.75rem}.ink-page .form-control:focus,.ink-page .form-select:focus,.sparepart-page .form-control:focus,.sparepart-page .form-select:focus,.license-page .form-control:focus,.license-page .form-select:focus,.cctv-page .form-control:focus,.cctv-page .form-select:focus,.inventory-page .form-control:focus,.inventory-page .form-select:focus{border-color:#a78bfa;box-shadow:0 0 0 3px rgba(124,92,252,.11);background:#fff}.ink-page .form-label,.sparepart-page .form-label,.license-page .form-label,.cctv-page .form-label,.inventory-page .form-label{color:#69758d;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.ink-page .table,.sparepart-page .table,.license-page .table,.cctv-page .table,.inventory-page .table{font-size:.75rem}.ink-page .table thead th,.sparepart-page .table thead th,.license-page .table thead th,.cctv-page .table thead th,.inventory-page .table thead th{padding:13px 14px;background:#f8f7ff;color:#7d899e;font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #e8edf4;white-space:nowrap}.ink-page .table tbody td,.sparepart-page .table tbody td,.license-page .table tbody td,.cctv-page .table tbody td,.inventory-page .table tbody td{padding:13px 14px;border-color:#eef1f5;color:#536079}.ink-page .table tbody tr:hover,.sparepart-page .table tbody tr:hover,.license-page .table tbody tr:hover,.cctv-page .table tbody tr:hover,.inventory-page .table tbody tr:hover{background:#faf9ff}.ink-page .btn,.sparepart-page .btn,.license-page .btn,.cctv-page .btn,.inventory-page .btn{border-radius:9px;font-weight:700}.ink-page .ink-badge,.sparepart-page .part-badge,.license-page .license-badge,.cctv-page .camera-status,.inventory-page .badge{border-radius:999px;padding:5px 9px;font-size:.64rem;font-weight:700}
.ink-page .ink-panel,.sparepart-page .sparepart-panel,.license-page .license-panel,.cctv-page .cctv-panel{box-shadow:0 5px 18px rgba(35,52,85,.045)}.ink-page .panel-kicker,.sparepart-page .panel-kicker,.license-page .panel-kicker,.cctv-page .panel-kicker{font-weight:800;letter-spacing:.13em}.ink-page .ink-search,.sparepart-page .sparepart-search,.license-page .license-search{width:300px}.cctv-page .camera-card{border:1px solid #e7ebf2;border-left:3px solid #2161f5;border-radius:14px;box-shadow:0 4px 14px rgba(35,52,85,.04);transition:transform .15s,box-shadow .15s}.cctv-page .camera-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(33,97,245,.11)}
@media(max-width:767px){.ink-page .ink-hero,.sparepart-page .sparepart-hero,.license-page .license-hero,.cctv-page .cctv-hero{padding:22px}.ink-page .ink-hero-mark,.sparepart-page .sparepart-hero-mark,.license-page .license-mark,.cctv-page .cctv-mark{display:none}.ink-page .ink-search,.sparepart-page .sparepart-search,.license-page .license-search{width:100%}.ink-page .card-body,.sparepart-page .card-body,.license-page .card-body,.cctv-page .card-body{padding:15px}}
.crud-action-bar{display:flex;align-items:center;gap:10px;margin:-10px 0 20px;padding:15px 17px;border:1px solid #e7ebf2;border-radius:16px;background:linear-gradient(135deg,#faf9ff,#f5fffd);box-shadow:0 5px 18px rgba(35,52,85,.045)}.crud-action-bar>div:first-child{display:flex;flex-direction:column;min-width:190px;margin-right:auto}.crud-action-kicker,.crud-modal-kicker{color:#7c5cfc;font-size:.62rem;font-weight:800;letter-spacing:.13em}.crud-action-bar strong{color:#18243d;font-size:.78rem}.crud-action-bar small{color:#94a0b2;font-size:.65rem}.crud-action-button{display:flex;align-items:center;gap:10px;min-width:190px;padding:10px 12px;border:1px solid #e5defe;border-radius:12px;background:#fff;color:#18243d;text-align:left;transition:transform .15s,box-shadow .15s,border-color .15s}.crud-action-button:hover{transform:translateY(-2px);border-color:#a78bfa;box-shadow:0 8px 18px rgba(124,92,252,.12)}.crud-action-button>i:first-child{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:#efeafe;color:#7c5cfc}.crud-action-button span{display:flex;flex-direction:column;flex:1}.crud-action-button strong{font-size:.7rem}.crud-action-button small{color:#94a0b2;font-size:.62rem}.crud-action-button>i:last-child{color:#a78bfa}.crud-modal{display:none;position:fixed;inset:0;z-index:1080}.crud-modal.is-open{display:block}.crud-modal-backdrop{position:absolute;inset:0;background:rgba(24,36,61,.42);backdrop-filter:blur(4px)}.crud-modal-dialog{position:relative;width:min(920px,calc(100% - 28px));max-height:calc(100vh - 40px);margin:20px auto;overflow:auto;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:#fff;box-shadow:0 24px 60px rgba(24,36,61,.24);animation:crud-modal-in .18s ease-out}.crud-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #edf0f5;background:linear-gradient(135deg,#faf9ff,#f5fffd);position:sticky;top:0;z-index:2}.crud-modal-head h2{margin:4px 0 0;color:#18243d;font-size:1.05rem;font-weight:800}.crud-modal-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:10px;background:#f1f3f8;color:#657188}.crud-modal-close:hover{background:#ffeef0;color:#e11d48}.crud-modal-body{padding:0}.crud-modal-body>.card,.crud-modal-body>section{border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important}.crud-modal-body>.card .card-header,.crud-modal-body>section .card-header{padding:16px 22px;background:#fff}.crud-modal-body>.card .card-body,.crud-modal-body>section .card-body{padding:22px}.crud-modal-source{display:none}.modal-open{overflow:hidden}.crud-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:22px}.crud-detail-grid>div{padding:13px;border:1px solid #edf0f5;border-radius:12px;background:#fafbfe}.crud-detail-grid span,.crud-detail-grid strong{display:block}.crud-detail-grid span{margin-bottom:5px;color:#94a0b2;font-size:.62rem;font-weight:700;text-transform:uppercase}.crud-detail-grid strong{color:#34415a;font-size:.75rem;white-space:pre-line;overflow-wrap:anywhere}@keyframes crud-modal-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:767px){.crud-action-bar{align-items:stretch;flex-direction:column}.crud-action-bar>div:first-child{min-width:0;margin:0 0 4px}.crud-action-button{width:100%}.crud-modal-dialog{width:calc(100% - 16px);max-height:calc(100vh - 16px);margin:8px auto;border-radius:16px}.crud-modal-head{padding:15px 16px}.crud-modal-body>.card .card-body,.crud-modal-body>section .card-body{padding:16px}.crud-detail-grid{grid-template-columns:1fr;padding:16px}}
@media print{.crud-action-bar,.crud-modal{display:none!important}}
.route-form-modal{display:none;position:fixed;inset:0;z-index:1090}.route-form-modal.is-open{display:block}.route-form-backdrop{position:absolute;inset:0;background:rgba(24,36,61,.46);backdrop-filter:blur(5px)}.route-form-dialog{position:relative;width:min(1080px,calc(100% - 32px));height:min(820px,calc(100vh - 40px));margin:20px auto;overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:22px;background:#fff;box-shadow:0 28px 70px rgba(24,36,61,.28);animation:route-form-in .18s ease-out}.route-form-head{display:flex;align-items:center;justify-content:space-between;height:68px;padding:13px 22px;border-bottom:1px solid #edf0f5;background:linear-gradient(135deg,#faf9ff,#f5fffd)}.route-form-head span{color:#7c5cfc;font-size:.6rem;font-weight:800;letter-spacing:.14em}.route-form-head h2{margin:4px 0 0;color:#18243d;font-size:1rem;font-weight:800}.route-form-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:10px;background:#f1f3f8;color:#657188}.route-form-close:hover{background:#ffeef0;color:#e11d48}.route-form-frame{display:none;width:100%;height:calc(100% - 68px);border:0;background:#f7f9fc}.route-form-loading{display:flex;align-items:center;justify-content:center;gap:10px;height:calc(100% - 68px);color:#7c5cfc;font-size:.78rem;font-weight:700}.route-form-loading i{font-size:1.1rem;animation:route-form-spin 1s linear infinite}@keyframes route-form-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes route-form-spin{to{transform:rotate(360deg)}}
@media(max-width:767px){.route-form-dialog{width:calc(100% - 12px);height:calc(100vh - 12px);margin:6px auto;border-radius:16px}.route-form-head{height:62px;padding:11px 15px}.route-form-frame{height:calc(100% - 62px)}.route-form-loading{height:calc(100% - 62px)}}
@media print{.route-form-modal{display:none!important}}
.topbar-popover{position:fixed;top:76px;right:24px;z-index:1070;width:280px;padding:10px;border:1px solid #e7ebf2;border-radius:15px;background:#fff;box-shadow:0 18px 40px rgba(35,52,85,.16);animation:topbar-popover-in .15s ease-out}.topbar-popover-heading{padding:8px 10px 10px;color:#18243d;font-size:.76rem;font-weight:800;border-bottom:1px solid #edf0f5}.popover-option,.popover-link,.popover-action{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:#536079;text-align:left;text-decoration:none;font-size:.72rem;font-weight:600}.popover-option:hover,.popover-link:hover,.popover-action:hover{background:#f5f3ff;color:#7c5cfc}.popover-option i,.popover-link>i:first-child,.popover-action i{width:18px;color:#9aa5b8;text-align:center}.popover-option small{margin-left:auto;color:#a0a9b8;font-size:.6rem}.popover-option[data-language="id"] i{color:#7c5cfc}.popover-link strong{margin-left:auto;color:#7c5cfc;font-size:.7rem}.popover-link-process{background:#fffbeb;color:#92400e}.popover-link-process:hover{background:#fef3c7;color:#92400e}.popover-link-process>i:first-child,.popover-link-process strong{color:#f59e0b}.popover-note{padding:9px 10px;color:#9aa5b8;font-size:.62rem;line-height:1.45}.topbar-notification-count{position:absolute;top:-3px;right:-3px;display:none;min-width:16px;height:16px;padding:2px 4px;border:2px solid #fff;border-radius:999px;background:#f43f5e;color:#fff;font-size:.54rem;font-weight:800;line-height:9px}.topbar-notification-count:not(:empty):not([data-zero="true"]){display:block}
.global-search-results{position:absolute;top:43px;left:-8px;width:290px;padding:7px;border:1px solid #e7ebf2;border-radius:13px;background:#fff;box-shadow:0 16px 32px rgba(35,52,85,.14);z-index:1080}.global-search-results a{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;color:#536079;text-decoration:none;font-size:.7rem;font-weight:700}.global-search-results a:hover{background:#f5f3ff;color:#7c5cfc}.global-search-results a i{width:18px;color:#9aa5b8;text-align:center}.global-search-results a small{margin-left:auto;color:#a0a9b8;font-size:.6rem;font-weight:500}.global-search-empty{padding:12px 10px;color:#9aa5b8;font-size:.68rem}
@keyframes topbar-popover-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:767px){.topbar-popover{top:64px;right:8px;width:min(280px,calc(100vw - 16px))}}
.sidebar-brand-mark{background:transparent!important;color:#2161f5;border:0}.sidebar-collapse-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-right:auto;padding:0;border:1px solid #e7ebf2;border-radius:9px;background:#fff;color:#657188;font-size:1rem;transition:background .15s,color .15s}.sidebar-collapse-toggle:hover{background:#eef3ff;color:#2161f5}.sidebar-collapsed .app-sidebar{width:82px!important}.sidebar-collapsed .app-main{margin-left:82px}.sidebar-collapsed .sidebar-brand{justify-content:center;padding:24px 12px 22px}.sidebar-collapsed .sidebar-brand>span:last-child,.sidebar-collapsed .sidebar-label,.sidebar-collapsed .sidebar-link:not(.sidebar-ticket-link)>span:not(.sidebar-ink-icon),.sidebar-collapsed .sidebar-ticket-link>span:not(.ticket-badge-group),.sidebar-collapsed .sidebar-link-toggle:not(.sidebar-manage-dropdown .sidebar-link-toggle)>span:not(.sidebar-ink-icon),.sidebar-collapsed .sidebar-footer>span,.sidebar-collapsed .sidebar-footer>a,.sidebar-collapsed .sidebar-footer>button{display:none}.sidebar-collapsed .sidebar-link{justify-content:center;padding:10px 8px}.sidebar-collapsed .sidebar-link i{flex-basis:auto}.sidebar-collapsed .sidebar-ticket-link{justify-content:center}.sidebar-collapsed .sidebar-ticket-link .ticket-badge-group{position:absolute;margin-left:30px;margin-top:-22px}.sidebar-collapsed .sidebar-footer{padding:14px 8px}.sidebar-collapsed .sidebar-manage-dropdown .sidebar-link-toggle{justify-content:center}.sidebar-collapsed .sidebar-manage-dropdown .sidebar-ink-icon{margin:0}.sidebar-collapsed .sidebar-network-link{justify-content:center}.sidebar-collapsed .sidebar-network-link>span:last-child{display:none}.sidebar-collapsed .app-topbar{margin-left:-28px}.sidebar-collapsed .sidebar-collapse-toggle{margin-left:0}
@media(max-width:991.98px){.sidebar-collapse-toggle{display:none}.sidebar-collapsed .app-sidebar{width:min(84vw,320px)!important}.sidebar-collapsed .app-main{margin-left:0}.sidebar-collapsed .sidebar-brand{justify-content:flex-start;padding:18px 20px}.sidebar-collapsed .sidebar-brand>span:last-child,.sidebar-collapsed .sidebar-label,.sidebar-collapsed .sidebar-link:not(.sidebar-ticket-link)>span:not(.sidebar-ink-icon),.sidebar-collapsed .sidebar-ticket-link>span:not(.ticket-badge-group),.sidebar-collapsed .sidebar-footer>span,.sidebar-collapsed .sidebar-footer>a,.sidebar-collapsed .sidebar-footer>button{display:block}.sidebar-collapsed .sidebar-link{justify-content:flex-start;padding:10px 12px}.sidebar-collapsed .sidebar-ticket-link{justify-content:space-between}.sidebar-collapsed .sidebar-ticket-link .ticket-badge-group{position:static;margin:0}.sidebar-collapsed .sidebar-footer{padding:14px 20px}}
.sidebar-collapsed .sidebar-link{font-size:0}.sidebar-collapsed .sidebar-link i{font-size:1rem}
.sidebar-collapsed .sidebar-ticket-link{position:relative}.sidebar-collapsed .sidebar-ticket-link .ticket-badge-group{position:absolute;top:3px;right:4px;margin:0;display:flex;gap:2px}.sidebar-collapsed .sidebar-ticket-link .ticket-notification-badge{min-width:14px;padding:1px 3px;font-size:.5rem;line-height:12px}
@media(max-width:991.98px){.sidebar-collapsed .sidebar-ticket-link .ticket-badge-group{position:static;margin:0;display:inline-flex}.sidebar-collapsed .sidebar-ticket-link .ticket-notification-badge{min-width:20px;padding:2px 6px;font-size:.7rem;line-height:normal}}
.app-topbar{display:flex;align-items:center;justify-content:flex-start;gap:18px;height:68px;margin:-24px -28px 28px;padding:0 24px;border-bottom:1px solid #e8edf4;background:#fff}.sidebar-collapse-toggle{margin:0;width:36px;height:36px;border:0;background:transparent;color:#536079;font-size:1.08rem}.sidebar-collapse-toggle:hover{background:#f1f4f9;color:#2161f5}.topbar-search{position:relative;display:flex;align-items:center;width:min(280px,32vw);height:38px}.topbar-search i{position:absolute;left:1px;color:#7d899e;font-size:.9rem}.topbar-search input{width:100%;height:38px;padding:7px 8px 7px 27px;border:0;outline:0;background:transparent;color:#34415a;font-size:.78rem}.topbar-search input::placeholder{color:#9aa5b8}.topbar-spacer{flex:1}.topbar-actions{display:flex;align-items:center;gap:7px}.topbar-icon-button{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:10px;background:transparent;color:#536079;font-size:1rem}.topbar-icon-button:hover{background:#f1f4f9;color:#2161f5}.topbar-notification-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#f43f5e}.topbar-user{gap:9px;padding-left:6px}.topbar-user>span:last-child{align-items:flex-start}.topbar-user-name{font-size:.76rem}.topbar-user-role{font-size:.55rem;padding:1px 7px}.topbar-logout{padding:7px 12px;border-radius:9px;font-size:.7rem}.sidebar-collapsed .app-topbar{margin-left:-24px}
@media(max-width:991.98px){.app-topbar{height:58px;margin:-70px -14px 22px;padding:0 14px}.topbar-search{width:min(220px,35vw)}.topbar-actions .topbar-icon-button:nth-child(-n+2){display:none}.topbar-logout{padding:6px 10px}.sidebar-collapsed .app-topbar{margin-left:-14px}}
@media(max-width:600px){.topbar-search{width:auto;flex:1}.topbar-actions{display:none}.topbar-user-name,.topbar-user-role{display:none}.topbar-user{padding:0}.topbar-logout{font-size:.65rem}}
.app-main{padding-top:0!important}.app-topbar{position:sticky;top:0;margin-top:0!important;margin-bottom:24px!important;border-top:0;border-radius:0}
@media(max-width:991.98px){.app-main{padding-top:0!important}.app-topbar{margin-top:0!important;margin-bottom:22px!important}}
.mobile-bottom-nav{display:none}
@media(max-width:767px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .app-main{padding-bottom:88px!important}
  .mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:1040;display:flex;align-items:stretch;justify-content:flex-start;min-height:68px;overflow-x:auto;overflow-y:hidden;padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #e7ebf2;background:rgba(255,255,255,.96);box-shadow:0 -10px 28px rgba(35,52,85,.1);backdrop-filter:blur(14px);scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .mobile-bottom-nav::-webkit-scrollbar{display:none}
  .mobile-bottom-link{position:relative;display:flex;align-items:center;justify-content:center;gap:3px;width:76px;min-width:76px;flex:0 0 76px;flex-direction:column;padding:5px 4px;border:0;border-radius:11px;background:transparent;color:#8a95a8;text-decoration:none;font-family:var(--font-ui);font-size:.58rem;font-weight:700;line-height:1.1;white-space:nowrap;scroll-snap-align:start}
  .mobile-bottom-link i{font-size:1.1rem;line-height:1}.mobile-bottom-link.active{background:#eef3ff;color:#2161f5}.mobile-bottom-link.active i{color:#2161f5}.mobile-bottom-link:hover{color:#2161f5}.mobile-bottom-link[hidden]{display:none!important}
  .mobile-bottom-link:last-child{color:#536079}.mobile-bottom-link:last-child i{font-size:1.25rem}
  .sidebar-toggle,.app-topbar .sidebar-collapse-toggle{display:none!important}.app-topbar{height:58px;padding:0 12px}.topbar-search{min-width:0}.topbar-user{flex:0 0 auto}.topbar-logout{padding:6px 9px}
}
.todo-page{max-width:1480px;color:var(--ink-navy)}.todo-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:4px 4px 18px;margin-bottom:18px;border-bottom:1px solid #e8edf4}.todo-page-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:linear-gradient(135deg,#14b8a6,#5eead4);color:#fff;font-size:1.15rem;box-shadow:0 8px 16px rgba(20,184,166,.22)}.todo-eyebrow{color:#0f9c8a;font-size:.68rem;font-weight:800;letter-spacing:.13em}.todo-page h1{margin:4px 0;color:#18243d;font-size:1.8rem;font-weight:800;letter-spacing:-.03em}.todo-page p{color:#8792a7;font-size:.78rem}.todo-page .btn-brand{border:0;border-radius:10px;background:linear-gradient(135deg,#14b8a6,#5eead4);box-shadow:0 8px 16px rgba(20,184,166,.2);font-weight:700}.todo-page .btn i{margin-right:6px}.todo-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.todo-stat{position:relative;min-height:112px;padding:18px 20px;border:1px solid #e7ebf2;border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(35,52,85,.05);overflow:hidden}.todo-stat:after{content:'';position:absolute;right:-24px;bottom:-35px;width:90px;height:90px;border-radius:50%;background:currentColor;opacity:.06}.todo-stat span,.todo-stat small{display:block;color:#78849a;font-size:.7rem;font-weight:700}.todo-stat strong{display:block;margin:8px 0 3px;color:#18243d;font-size:1.75rem;font-weight:800}.todo-stat small{color:#94a0b2;font-size:.65rem}.todo-stat.total{color:#7c5cfc}.todo-stat.todo{color:#f3b54b}.todo-stat.progress{color:#7c5cfc}.todo-stat.done{color:#14b8a6}.todo-filter,.todo-table,.todo-form-card{border:1px solid #e7ebf2;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(35,52,85,.045);overflow:hidden}.todo-filter{margin-bottom:18px}.todo-filter .card-body{padding:18px}.todo-page .form-label{color:#69758d;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.todo-page .form-control,.todo-page .form-select{min-height:40px;border-radius:9px;border-color:#dfe5ee;background:#fbfcfe;font-size:.75rem}.todo-page .form-control:focus,.todo-page .form-select:focus{border-color:#5eead4;box-shadow:0 0 0 3px rgba(20,184,166,.12);background:#fff}.todo-table .card-header{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;background:#fff;border-bottom:1px solid #edf0f5}.todo-table .card-header strong{font-size:.88rem}.todo-table .card-header strong i{margin-right:8px;color:#14b8a6}.todo-table .card-header span{color:#94a0b2;font-size:.66rem}.todo-table .table{font-size:.75rem}.todo-table .table thead th{padding:13px 14px;background:#f5fffd;color:#7d899e;font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.todo-table .table tbody td{padding:14px;border-color:#eef1f5;color:#536079}.todo-table .table tbody tr:hover{background:#f5fffd}.todo-table .table td strong,.todo-campaign-link{color:#26324b}.todo-table .table td small{display:block;margin-top:3px;color:#a0a9b8;font-size:.64rem}.todo-campaign-link{text-decoration:none;font-weight:700}.todo-campaign-link:hover{color:#0f9c8a}.todo-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.63rem;font-weight:800}.todo-status-todo{background:#fff5dc;color:#b77908}.todo-status-in_progress{background:#efeafe;color:#6b46d9}.todo-status-done{background:#e2f8f4;color:#0f9c8a}.todo-priority-low{background:#eef1f6;color:#657188}.todo-priority-normal{background:#eef3ff;color:#2161f5}.todo-priority-high{background:#fff5dc;color:#b77908}.todo-priority-urgent{background:#ffeef0;color:#e11d48}.todo-empty{padding:32px!important;text-align:center;color:#94a0b2!important}.todo-form-page{max-width:1180px}.todo-form-card .card-header{display:flex;align-items:center;gap:8px;padding:18px 22px;background:linear-gradient(135deg,#f5fffd,#faf9ff);font-size:.88rem}.todo-form-card .card-header i{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:#e2f8f4;color:#0f9c8a}.todo-form-card .card-body{padding:24px}.todo-form-card .card-footer{padding:16px 22px;border-top:1px solid #edf0f5;background:#fbfcfe}@media(max-width:767px){.todo-heading{align-items:flex-start;flex-direction:column}.todo-heading>.btn{align-self:stretch}.todo-stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.todo-stat{min-height:100px;padding:14px}.todo-stat strong{font-size:1.4rem}.todo-table .card-header{align-items:flex-start;gap:8px;flex-direction:column}.todo-form-card .card-body{padding:16px}}
