*{box-sizing:border-box}body{margin:0;background:#f2f5f2;color:#203329;font-family:Arial,sans-serif}.top{background:#173b2b;color:white;padding:25px max(18px,calc((100% - 980px)/2));display:flex;justify-content:space-between;align-items:center;gap:15px}.eyebrow{font-size:11px;letter-spacing:2px;color:#b8d4c2}.top h1{margin:7px 0 3px;font-size:27px;letter-spacing:1px}.top p{margin:0;color:#d2e3d8;font-size:14px}.offline{font-size:11px;background:#28543e;padding:8px 10px;border-radius:20px;white-space:nowrap}main{max-width:980px;margin:20px auto;padding:0 15px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary article,.panel{background:white;border:1px solid #e0e8e1;border-radius:13px;box-shadow:0 3px 12px #183d2b0a}.summary article{padding:15px}.summary span{display:block;color:#6d7e72;font-size:12px}.summary strong{font-size:25px;display:block;margin-top:6px;color:#173b2b}.tabs{display:flex;gap:8px;margin:18px 0 12px;overflow:auto}.tab{border:1px solid #d6e0d8;background:#fff;border-radius:9px;padding:11px 15px;color:#355543;font-weight:700;white-space:nowrap}.tab.active,.primary{background:#1d593b;color:white;border-color:#1d593b}.panel{display:none;padding:20px}.panel.active{display:block}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.section-head h2{margin:0 0 5px;font-size:20px}.section-head p{margin:0;color:#758379;font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label,.label{display:block;font-weight:700;font-size:13px;color:#385144}input,select,textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #d5dfd7;border-radius:8px;background:white;color:#23372b;font:14px Arial}textarea{resize:vertical}small{display:block;font-weight:400;color:#77857b;margin-top:5px}.full{grid-column:1/-1}.inline{display:flex;gap:7px}.inline input{flex:1;min-width:0}.primary,.secondary{border:0;border-radius:8px;padding:12px 16px;font-weight:700;cursor:pointer}.primary{width:100%;margin-top:18px}.secondary{background:#e7f0e9;color:#24583b;border:1px solid #d3e3d7}.preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.preview img{width:85px;height:70px;object-fit:cover;border-radius:7px;border:1px solid #ddd}canvas{display:block;width:100%;height:110px;border:1px dashed #9aada0;border-radius:8px;margin-top:8px;touch-action:none}.text-btn{border:0;background:none;color:#9b4438;padding:8px 0}.message{font-size:13px;color:#1d6840}.search{margin-bottom:12px}.record{border:1px solid #e1e8e2;border-radius:9px;padding:13px;margin:9px 0}.record h3{margin:0 0 6px;font-size:15px}.record p{margin:4px 0;color:#66766b;font-size:13px}.record-actions{display:flex;gap:8px;margin-top:10px}.record-actions button{padding:8px 10px}.badge{font-size:11px;padding:4px 7px;border-radius:20px;background:#edf4ee;color:#24583b}.notice{padding:13px;background:#fff8e7;border:1px solid #f0dfb5;border-radius:8px;font-size:13px;line-height:1.5;margin-bottom:15px}.import-label{margin-top:18px}.import-label input{font-weight:400}footer{text-align:center;padding:25px;color:#819087;font-size:11px}@media(max-width:600px){.top{padding:20px 16px}.top h1{font-size:23px}.offline{font-size:10px}.grid{grid-template-columns:1fr}.full{grid-column:auto}.panel{padding:15px}.section-head{align-items:flex-start;flex-direction:column}.summary article{padding:12px}.summary strong{font-size:22px}.tab{padding:10px 12px;font-size:12px}}
.doc-meta{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d5dfd7;border-radius:8px;overflow:hidden;margin-bottom:14px}.doc-meta>div{padding:9px;border:1px solid #e1e8e2;display:grid;grid-template-columns:100px 1fr;align-items:center;gap:6px;font-size:12px}.doc-meta input{margin:0;padding:8px;min-width:0}.form-band{background:#e9f1eb;border:1px solid #b9cbbd;padding:10px;margin:18px 0 8px;font-size:14px}.form-rows{display:grid;gap:12px}.form-rows label{font-size:13px}.date-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}.block{display:block}.approval{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;border:1px solid #bfcfc3;text-align:center}.approval>div{border:1px solid #bfcfc3;padding:8px}.approval b{display:block}.sign-space{height:90px}.approval input{text-align:center}.hint{font-size:12px;color:#7b6a3b;background:#fff8e7;padding:10px;border-radius:7px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-grid>label{border:1px solid #dce5de;border-radius:8px;padding:10px}.photo-grid input{font-weight:400}.preview img{max-width:100%;max-height:150px;object-fit:contain}@media(max-width:600px){.doc-meta>div{grid-template-columns:1fr}.date-row{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.approval{grid-template-columns:1fr}.sign-space{height:65px}}

/* FIRE THEME */
:root{--fire:#b71c1c;--fire-dark:#7f1010;--fire-mid:#d32f2f;--fire-soft:#fff0ee;--fire-line:#e7b8b4}
body{background:#fff7f6;color:#302323}.top{background:linear-gradient(135deg,#7f1010,#c62828 68%,#e04b35)}.eyebrow{color:#ffd9d5}.top p{color:#ffe5e2}.offline{background:#8f1b1b;color:#fff}.summary article,.panel{border-color:#f0d8d5;box-shadow:0 3px 12px #7f10100b}.summary strong{color:var(--fire)}.tabs .tab{border-color:#ebc9c6;color:#842020;background:#fff}.tabs .tab.active,.primary{background:var(--fire);border-color:var(--fire);color:#fff}.tabs .tab.active{box-shadow:0 3px 9px #b71c1c22}.form-band{background:#fff0ee;border-color:#e6b8b4;color:#7f1010}.doc-meta{border-color:#e6c3c0}.doc-meta>div{border-color:#efd8d5}input,select,textarea{border-color:#e2c9c6;color:#342727}input:focus,select:focus,textarea:focus{outline:2px solid #e2a09a;border-color:#b71c1c}.secondary{background:#fff0ee;color:#941d1d;border:1px solid #e9c3bf}.badge{background:#fff0ee;color:#9b1c1c}.record{border-color:#efd8d5}.notice{background:#fff6e8;border-color:#efd5a4}.message{color:#8b1c1c}.approval{border-color:#e6c3c0}.approval>div{border-color:#e6c3c0}footer{color:#a47a77}

.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(145deg,#760d0d,#c62828)}.login-card{background:#fff;border-radius:18px;padding:26px;width:min(100%,420px);box-shadow:0 15px 45px #4008}.login-card h1{color:#a81717;margin:8px 0}.login-mark{font-size:38px}.login-card p{color:#766}.login-card label{display:block;margin:14px 0}.login-card .primary{margin-top:8px}.top-actions{display:flex;align-items:center;gap:8px}.logout-btn{background:#fff;color:#8f1111;border:0;border-radius:8px;padding:9px 12px;font-weight:bold}.login-screen[hidden],#appShell[hidden]{display:none!important}#settings hr{border:0;border-top:1px solid #efd8d5;margin:22px 0}.record-actions{flex-wrap:wrap}.record-actions button{font-size:12px}.form-rows>label input[type=file]{font-weight:400}


/* FIRE REPORT LOGIN — full-screen portrait artwork with readable login panel */
.login-screen{
 min-height:100vh;min-height:100dvh;width:100%;
 display:flex;align-items:flex-start;justify-content:center;
 padding:clamp(290px,43vh,430px) 16px 28px;
 background-color:#073b2b;
 background-image:linear-gradient(180deg,rgba(0,25,17,.03) 0%,rgba(0,25,17,.02) 42%,rgba(0,25,17,.22) 100%),url("../fire-report-bg.png");
 background-position:center top;background-repeat:no-repeat;background-size:cover;
}
.login-card{
 width:min(100%,440px);padding:20px 20px 18px;margin:0;
 border:1.5px solid rgba(255,255,255,.86);border-radius:22px;
 background:rgba(246,252,248,.78);color:#183729;
 box-shadow:0 12px 34px rgba(0,24,16,.32);
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.login-mark{display:none}
.login-card h1{margin:0 0 5px;text-align:center;color:#8e1515;font-size:clamp(21px,5vw,27px);letter-spacing:.6px}
.login-card #loginCaption{text-align:center;margin:0 0 12px;color:#234a36;font-size:12px;line-height:1.4}
.login-card label{display:block;margin:10px 0;color:#244532;font-size:12px;font-weight:800}
.login-card input{height:44px;margin-top:5px;border:1px solid rgba(29,89,59,.28);border-radius:11px;background:rgba(255,255,255,.92);font-size:15px}
.login-card .primary{height:47px;margin-top:7px;border-radius:11px;background:linear-gradient(100deg,#a90f0f,#e02018);font-size:16px;letter-spacing:.5px;box-shadow:0 5px 14px rgba(150,15,15,.2)}
.login-card .message{min-height:16px;margin:7px 0 0;text-align:center;color:#8f1515}
@media(max-width:480px){
 .login-screen{padding:clamp(340px,45vh,430px) 14px 24px;background-position:center top}
 .login-card{padding:16px 15px 13px;border-radius:19px}
 .login-card label{margin:8px 0}
 .login-card input{height:41px}
 .login-card .primary{height:44px;margin-top:5px}
}
@media(min-width:700px){
 .login-screen{align-items:center;padding:24px;background-position:center center}
 .login-card{max-width:430px}
}

/* FIRE REPORT LOGIN - portrait mobile background */
.login-screen{position:relative;isolation:isolate;min-height:100svh;min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:clamp(14px,3vh,28px) 15px;background:#073c2b url("../fire-report-bg.png") center center/cover no-repeat;overflow-x:hidden}
.login-screen:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,35,23,.18),rgba(0,35,23,.02) 30%,rgba(0,28,19,.28))}
.login-card{width:min(100%,390px);margin:clamp(210px,37vh,330px) auto clamp(105px,17vh,165px);padding:clamp(16px,4vw,23px);border:1.5px solid rgba(255,255,255,.82);border-radius:22px;background:rgba(246,253,248,.75);box-shadow:0 14px 38px rgba(0,25,16,.34);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);color:#173b2b}
.login-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:7px}.login-mark{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;margin:0;border:2px solid #fff;border-radius:14px;background:linear-gradient(145deg,#f32920,#a50d0d);box-shadow:0 4px 12px #8b171733;font-size:25px}.login-kicker{display:block;font-size:8px;line-height:1.3;font-weight:900;letter-spacing:1.1px;color:#26734c}.login-card h1{margin:2px 0 0;color:#8f1414;font-size:clamp(22px,6vw,29px);line-height:1;font-weight:900;letter-spacing:.5px}.login-caption{margin:8px 0 12px;color:#173b2b;font-size:15px;font-weight:900;letter-spacing:.5px;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.login-card label{display:block;margin:10px 0;color:#294d39;font-size:12px;font-weight:800}.login-card input{width:100%;height:45px;margin-top:6px;padding:11px 12px;border:1px solid rgba(29,91,57,.24);border-radius:11px;background:rgba(255,255,255,.94);font-size:14px}.password-wrap{display:flex;align-items:center;position:relative}.password-wrap input{padding-right:48px}.password-toggle{position:absolute;right:5px;top:10px;width:38px;height:36px;border:0;border-radius:8px;background:transparent;color:#496657;font-size:19px}
.login-submit{height:48px;margin-top:8px;border-radius:12px;background:linear-gradient(100deg,#b30d0d,#e11b12);box-shadow:0 6px 15px #9e171733;font-size:16px;font-weight:900;letter-spacing:.5px}.login-submit span{float:right;font-size:21px;line-height:17px}.login-card .message{min-height:15px;margin:7px 0 0;font-size:11px;font-weight:700}
.login-secure{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px;border-radius:11px;background:rgba(226,244,231,.94);color:#1e5738}.login-secure>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:#16824c;color:#fff;font-weight:900}.login-secure b,.login-secure small{display:block}.login-secure b{font-size:10px}.login-secure small{margin-top:3px;color:#567161;font-size:9px}
.login-foot{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;color:#45634f;font-size:9px;font-weight:900;letter-spacing:.7px}.login-live-dot{width:8px;height:8px;border-radius:50%;background:#18a85c;box-shadow:0 0 0 3px #18a85c22}
@media(max-width:420px){.login-screen{background-position:center center;padding-left:12px;padding-right:12px}.login-card{width:100%;max-width:365px;margin-top:clamp(220px,39vh,315px);margin-bottom:clamp(105px,16vh,145px);padding:15px 14px;border-radius:19px}.login-card label{margin:8px 0}.login-card input{height:42px}.login-submit{height:45px}}
@media(max-height:760px){.login-screen{background-position:center center}.login-card{margin-top:190px;margin-bottom:90px;padding:13px 15px}.login-card label{margin:7px 0}.login-card input{height:39px}.login-submit{height:42px;margin-top:5px}.login-secure{margin-top:5px;padding:8px}.login-foot{margin-top:7px}}
@media(min-width:700px){.login-screen{background-position:center 48%;padding:24px}.login-card{margin-top:250px;margin-bottom:110px}.login-card input{height:48px}}


/* Login panel: increase transparency while preserving text readability */
.login-card{background:rgba(246,253,248,.52)!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}


/* Strong glass effect: let the Fire Report artwork remain clearly visible */
.login-card{background:rgba(246,253,248,.28)!important;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);border-color:rgba(255,255,255,.68);box-shadow:0 10px 28px rgba(0,20,12,.22)}
.login-card label,.login-card .login-caption,.login-card h1{ text-shadow:0 1px 2px rgba(255,255,255,.9)}


/* Final login glass balance: 55% transparent (45% panel opacity) */
.login-card{background:rgba(246,253,248,.45)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}


/* Fire Report login typography: stronger and clearer text */
.login-card h1{font-weight:900!important;text-shadow:0 1px 2px rgba(255,255,255,.9)}
.login-card .login-kicker{font-weight:900!important;letter-spacing:1.2px}
.login-card .login-caption{font-weight:900!important;text-shadow:0 1px 2px rgba(255,255,255,.95)}
.login-card label{font-weight:900!important;text-shadow:0 1px 2px rgba(255,255,255,.9)}
.login-card input{font-weight:700!important}
.login-card input::placeholder{font-weight:700;opacity:1}
.login-card .login-submit,.login-card .primary{font-weight:900!important;text-shadow:0 1px 1px rgba(0,0,0,.15)}
.login-card .login-secure b,.login-card .login-secure small,.login-card .login-foot{font-weight:800!important}


/* Login controls usability on mobile */
.password-wrap{position:relative;z-index:2}.password-toggle{z-index:5;right:6px;top:9px;display:grid;place-items:center;cursor:pointer;pointer-events:auto;touch-action:manipulation}.reset-account{display:block;width:100%;margin:8px auto 0;padding:9px 6px;border:0;background:transparent;color:#7f1010;font-size:12px;font-weight:800;text-decoration:underline;cursor:pointer;touch-action:manipulation;position:relative;z-index:2}
