/* Final layout safeguards and dashboard empty state */
.sidebar-scrim{display:none}.route-arrow{padding:0 3px;color:#5c77bc}.empty-state{display:grid;justify-items:center;gap:6px;padding:44px 20px 30px;text-align:center}.empty-state h3{margin:4px 0 0;font:800 18px Manrope,sans-serif}.empty-state p{max-width:360px;margin:0 0 12px;color:var(--muted)}.empty-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#e5edff,#eff3ff);color:#3d68df;font:800 30px Manrope,sans-serif}
.repair-card{max-width:720px}.repair-card p{max-width:560px;color:var(--muted)}@media (max-width:760px){.sidebar-scrim{position:fixed;z-index:30;inset:0;border:0;background:#0a162b66}.nav-open .sidebar-scrim{display:block}}
.image-source-note{display:block;margin-top:4px;color:#6b7a92;font-size:12px;font-weight:500}
.topbar-actions{display:flex;align-items:center;gap:16px}.company-switcher label{display:grid;gap:2px;color:#8794aa;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.company-switcher select{min-width:175px;border:1px solid #dce5f2;border-radius:8px;padding:5px 28px 5px 8px;color:#1f3557;font-size:12px;font-weight:700}.app-main .content-shell>*{animation:rise-in .42s ease both}.app-main .content-shell>*:nth-child(2){animation-delay:.06s}.app-main .content-shell>*:nth-child(3){animation-delay:.12s}.card,.stat-card{transition:transform .2s ease,box-shadow .2s ease}.card:hover,.stat-card:hover{transform:translateY(-2px);box-shadow:0 13px 28px #273e6814}.btn{transition:transform .18s ease,box-shadow .18s ease!important}.btn:active{transform:translateY(1px) scale(.98)}@keyframes rise-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.login-premium{overflow:hidden;background:linear-gradient(125deg,#edf4ff 0%,#f8fbff 52%,#e2ebff 100%)!important}.login-layout{display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(340px,.9fr);width:min(1060px,calc(100% - 40px));min-height:610px;overflow:hidden;border:1px solid #dce6f6;border-radius:28px;background:#ffffffbd;box-shadow:0 28px 80px #27477d20;backdrop-filter:blur(12px)}.login-story{position:relative;overflow:hidden;padding:74px 64px;background:radial-gradient(circle at 75% 18%,#5a8aff,transparent 32%),linear-gradient(145deg,#11274b,#254f9e);color:white}.login-story h1{position:relative;z-index:1;max-width:510px;margin:18px 0;font:800 43px/1.12 Manrope,sans-serif;letter-spacing:-.04em}.login-story p{position:relative;z-index:1;max-width:455px;color:#d8e5ff;font-size:16px}.login-badge{position:relative;z-index:1;color:#c8d9ff;font-size:10px;font-weight:800;letter-spacing:.14em}.login-orbit{position:absolute;border:1px solid #b9d2ff45;border-radius:50%;animation:float-orbit 11s ease-in-out infinite}.orbit-one{right:-130px;bottom:-180px;width:430px;height:430px}.orbit-two{right:90px;top:-210px;width:320px;height:320px;animation-delay:-4s}.login-card{align-self:center;width:100%;max-width:none;padding:56px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;animation:rise-in .6s ease both}.login-card h2{margin:10px 0 8px;color:#152e55;font:800 27px/1.2 Manrope,sans-serif}.login-card .login-logo{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#5c8cff,#2d58d0);box-shadow:0 10px 20px #3767c74a;color:white;font-weight:900}.login-card label{margin:19px 0 0}.login-card .full{width:100%;margin-top:25px}.login-card small{margin-top:18px;text-align:left}.login-card .eyebrow{margin-top:28px}.login-card>p{text-align:left!important}.login-card .alert{margin-top:16px}@keyframes float-orbit{50%{transform:translate(-15px,15px) scale(1.04)}}
@media(max-width:760px){.login-layout{display:block;width:min(440px,calc(100% - 28px));min-height:auto}.login-story{display:none}.login-card{padding:34px 27px!important}.topbar-actions{gap:8px}.company-switcher{display:none}}
/* Keep the complete sign-in card reachable on compact screens. */
.login-premium{overflow-x:hidden!important;overflow-y:auto!important;padding:32px 0 58px!important;align-content:center}
.login-premium::after{content:'Developed by Digital Hanshu';display:block;grid-column:1;justify-self:center;margin:14px 0 0;color:#60718c;font-size:12px;letter-spacing:.01em}.login-premium::after{font-weight:500}.login-premium::after{color:#355b9d}
@media(max-width:760px){.login-premium{padding:14px 0 42px!important;align-content:start}.login-premium::after{margin-top:12px}}
.cn-form input[name="cn_date"]{pointer-events:none;cursor:not-allowed;background:#f2f5fa;color:#5f718c}
.cn-form input[name="cn_date"]::-webkit-calendar-picker-indicator{display:none}.cn-form label small{color:#71809a;font-size:11px;font-weight:500}
@media(max-width:760px){html,body{overflow-x:hidden}.app-main{overflow-x:hidden}.sidebar{width:min(86vw,320px)!important;height:100dvh!important;padding:18px 14px calc(18px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;overscroll-behavior:contain}.sidebar-close{display:grid!important;place-items:center;position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:10px;background:#273955;color:#fff;font-size:27px;line-height:1;cursor:pointer}.sidebar .brand{padding-top:37px!important}.nav-open{overflow:hidden!important}.sidebar-scrim{cursor:pointer}.side-nav a{padding:12px 11px}.sidebar-bottom{padding-bottom:18px!important}}
@media(min-width:761px){.sidebar-close{display:none!important}.sidebar{overflow-y:auto}}
.install-app-button{width:100%;margin-top:11px;border:1px solid #bfd0f3;border-radius:10px;padding:10px 14px;background:#f4f7ff;color:#2854aa;font:700 13px 'DM Sans',sans-serif;cursor:pointer}.install-app-button:hover{background:#eaf0ff}
@media(max-width:760px){.nav-open .sidebar-scrim{display:block!important;position:fixed!important;z-index:39!important;inset:0!important;width:100vw!important;height:100dvh!important}.nav-open .sidebar{z-index:40!important}.sidebar-close{z-index:2!important}}
@media(max-width:760px){.nav-open .sidebar-scrim{z-index:229!important}.nav-open .sidebar{z-index:230!important}.nav-open .mobile-bottom-nav{z-index:20!important}}
.login{min-height:100svh;display:grid!important;place-items:center!important}.login-card{margin:0!important;padding:34px!important;border-radius:20px!important;box-shadow:0 24px 70px rgba(30,55,100,.14)!important}.login-card h1{text-align:center}.login-card>p{text-align:center;color:#718096}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.permission-check{flex-direction:row;align-items:center;padding:13px;border:1px solid #dfe5ef;border-radius:10px;background:#fafcff}.permission-check input{width:auto}.permission-check span{font-size:13px}@media(max-width:760px){.permission-grid{grid-template-columns:1fr}.login-card{padding:25px!important}}
.brand-mark{display:block!important;width:42px!important;height:42px!important;flex:none;object-fit:cover;border-radius:12px!important;background:#fff!important;box-shadow:0 8px 20px #0004}.login-card .login-logo{display:grid!important;place-items:center;width:54px!important;height:54px!important;overflow:hidden;border-radius:16px!important;background:#fff!important;box-shadow:0 10px 22px #3767c733!important}.login-card .login-logo img{display:block;width:100%;height:100%;object-fit:cover}

/* One large native image picker. With no capture attribute, the device itself can offer Camera, Gallery, or Files. */
.photo-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.photo-picker{position:relative;display:grid!important;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:102px;padding:14px!important;border:1px dashed #aebfdf;border-radius:13px;background:linear-gradient(145deg,#fbfdff,#f3f7ff);color:#203755!important;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.photo-picker:hover,.photo-picker:focus-within{border-color:#4376e5;background:#f7faff;box-shadow:0 10px 24px #3d67b21c;transform:translateY(-1px)}.photo-picker-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e0eaff;color:#2c61d5;font:700 23px/1 'DM Sans',sans-serif}.photo-picker-copy{display:grid;gap:3px;min-width:0}.photo-picker-copy b{color:#243a5c;font-size:13px}.photo-picker-copy small{color:#71809a;font-size:11px;font-weight:600;line-height:1.35}.photo-picker input[type=file]{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;opacity:0!important}.photo-picker-file{grid-column:2;overflow:hidden;color:#71809a;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.photo-picker.has-file{border-style:solid;border-color:#58a87c;background:#f3fbf6}.photo-picker.has-file .photo-picker-icon{background:#dff5e7;color:#207647}.photo-picker.has-file .photo-picker-file{color:#207647}.pdf-progress[hidden]{display:none!important}.pdf-progress{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:22px;background:#0d1d3994;backdrop-filter:blur(4px)}.pdf-progress-card{width:min(390px,100%);padding:26px;border:1px solid #dce7fb;border-radius:20px;background:#fff;box-shadow:0 24px 70px #08132b5c;text-align:center}.pdf-progress-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 15px;border-radius:14px;background:linear-gradient(135deg,#ff6262,#da2539);box-shadow:0 9px 18px #d9283940;color:#fff;font:800 11px/1 'DM Sans',sans-serif;letter-spacing:.08em}.pdf-progress-title{color:#1c3154;font:800 19px/1.25 Manrope,sans-serif}.pdf-progress-copy{min-height:20px;margin:7px 0 18px;color:#6c7e9b;font-size:12px;font-weight:600}.pdf-progress-track{height:10px;overflow:hidden;border-radius:999px;background:#e7edf8}.pdf-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3167ee,#5c8cff);transition:width .25s ease}.pdf-progress-percent{margin-top:9px;color:#3167ee;font-size:12px;font-weight:800}@media(max-width:760px){.photo-picker-grid{grid-template-columns:1fr}.photo-picker{min-height:92px}.pdf-progress-card{padding:23px 19px}}
.photo-picker{grid-template-columns:minmax(0,1fr)}.photo-picker-file{grid-column:1}.photo-picker.has-file .photo-picker-icon{background:transparent;color:inherit}

