:root{--paper: #f4f8f7;--surface: #ffffff;--ink: #17201f;--muted: #667472;--line: #cbd7d5;--line-soft: #e7eeec;--blue: #1e5b70;--blue-deep: #123f50;--aqua: #a8dbd8;--aqua-soft: #e8f5f3;--amber: #e7a747;--amber-soft: #fff4df;--red: #b54b43;--red-soft: #fcecea;--green: #2e7660;--shadow: 0 18px 60px rgba(19, 63, 80, .1);--radius: 18px;color:var(--ink);background:var(--paper);font-family:Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper)}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.62}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Aptos Display,Segoe UI Variable Display,Segoe UI,sans-serif;letter-spacing:-.025em}:focus-visible{outline:3px solid rgba(30,91,112,.32);outline-offset:3px}.eyebrow,.brand-kicker{margin:0 0 8px;color:var(--blue);font:700 11px/1.2 ui-monospace,Cascadia Code,monospace;letter-spacing:.13em;text-transform:uppercase}.brand-kicker{color:inherit}.muted{color:var(--muted)}.center-page{min-height:100vh;display:grid;place-items:center;padding:24px}.loading-mark{display:flex;gap:7px}.loading-mark span{width:10px;height:34px;background:var(--blue);border-radius:99px;animation:pulse 1s ease-in-out infinite}.loading-mark span:nth-child(2){animation-delay:.12s}.loading-mark span:nth-child(3){animation-delay:.24s}@keyframes pulse{0%,to{transform:scaleY(.45);opacity:.35}50%{transform:scaleY(1);opacity:1}}.button{border:1px solid var(--line);border-radius:11px;padding:11px 16px;background:var(--surface);font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s ease,background .15s ease,border-color .15s ease}.button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--blue)}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.primary:hover:not(:disabled){background:var(--blue-deep)}.button.secondary{background:transparent}.button.wide{width:100%;padding-block:14px}.button.compact{padding:8px 12px;font-size:13px}.text-button{border:0;background:transparent;padding:6px;color:var(--blue);text-decoration:underline;text-underline-offset:3px}.text-button.light{color:#d9efed}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:19px}.icon-button.danger{color:var(--red)}label{display:grid;gap:6px;color:var(--muted);font-size:12.5px;font-weight:650}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fbfdfc;font-size:16px;line-height:1.35;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1e5b701c;outline:none}textarea{resize:vertical}.inline-message{margin-top:14px;padding:11px 13px;border-radius:10px;font-size:13px}.inline-message.error{background:var(--red-soft);color:#7d302b;border:1px solid #efc4c0}.message-card{max-width:560px;padding:34px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.message-card h1{font-size:clamp(26px,5vw,42px)}.error-card{border-top:5px solid var(--red)}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr)}.login-intro{position:relative;overflow:hidden;min-height:100vh;padding:clamp(38px,7vw,104px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:var(--blue-deep)}.login-intro:before{content:"";position:absolute;width:56vw;height:56vw;min-width:540px;min-height:540px;border:1px solid rgba(168,219,216,.22);border-radius:50%;right:-24vw;top:-19vw}.login-intro h1{position:relative;font-size:clamp(52px,7.2vw,112px);line-height:.9;max-width:900px;margin-bottom:32px}.intro-copy{position:relative;max-width:540px;color:#c5ddda;font-size:clamp(16px,1.5vw,21px);line-height:1.55}.door-plan{display:grid;grid-template-columns:repeat(4,1fr);max-width:520px;margin-top:60px;border-bottom:2px solid var(--aqua)}.door-plan span{height:76px;padding:9px;display:flex;align-items:flex-end;border:1px solid rgba(168,219,216,.42);border-bottom:0;color:var(--aqua);font:700 11px ui-monospace,monospace}.door-plan span+span{border-left:0}.login-panel{display:grid;place-items:center;padding:34px;background:var(--surface)}.login-form{width:min(100%,420px)}.login-form h2{font-size:36px;margin-bottom:30px}.login-form label{margin-bottom:17px}.login-form .button{margin-top:8px}.admin-shell{min-height:100vh;padding:0 clamp(18px,5vw,72px) 72px}.admin-header{max-width:1320px;margin:0 auto;min-height:168px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.admin-header h1{margin:0;font-size:clamp(34px,5vw,64px)}.admin-grid{max-width:1320px;margin:32px auto 0;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(480px,1.18fr);gap:24px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,34px);box-shadow:0 6px 25px #133f500b}.panel h2{margin-bottom:8px;font-size:27px}.section-intro{color:var(--muted);line-height:1.55;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.span-2{grid-column:1 / -1}.segmented-field{border:0;margin:0;padding:0;min-width:0}.segmented-field legend{color:var(--muted);font-size:12.5px;font-weight:650;margin-bottom:6px}.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;padding:3px;background:#fbfdfc}.segmented button{border:0;border-radius:7px;padding:8px;background:transparent}.segmented button.active{color:#fff;background:var(--blue)}.link-result{margin-top:18px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:10px;background:var(--aqua-soft);border:1px solid var(--aqua);border-radius:12px}.link-result div{display:grid;gap:2px}.link-result div span{color:var(--muted);font-size:12px}.link-result code{grid-column:1 / -1;overflow-wrap:anywhere;padding-top:8px;border-top:1px solid rgba(30,91,112,.16);color:var(--blue-deep);font-size:11px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.count-badge{min-width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:800}.mission-row{display:grid;grid-template-columns:42px 1fr auto auto;gap:12px;align-items:center;padding:15px 0;border-top:1px solid var(--line-soft)}.mission-mark{width:38px;height:48px;display:grid;place-items:center;color:var(--blue-deep);background:var(--aqua-soft);border:1px solid var(--aqua);border-radius:16px 16px 4px 4px;font-weight:800}.mission-mark.exit{background:var(--amber-soft);border-color:#eccb95;color:#81530d}.mission-main{display:grid;gap:3px;min-width:0}.mission-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mission-main span{color:var(--muted);font-size:12.5px}.status{padding:5px 9px;border-radius:99px;font-size:11px;font-weight:800;background:#edf1f0;color:var(--muted)}.status.signed{color:var(--green);background:#e5f3ed}.status.draft{color:#81530d;background:var(--amber-soft)}.empty-state{margin-top:20px;padding:30px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}.mission-shell{min-height:100vh;padding-bottom:104px}.mission-header{position:relative;z-index:20;padding:21px max(20px,calc((100vw - 1080px)/2));color:#fff;background:var(--blue-deep)}.mission-header-main{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.mission-header .eyebrow{color:var(--aqua)}.mission-header h1{margin:0;font-size:clamp(25px,5vw,43px);line-height:1}.mission-context{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:17px;color:#c7deda;font-size:13px}.mission-context strong{color:#fff}.progress-line{position:absolute;left:0;right:0;bottom:0;height:4px;background:#ffffff24}.progress-line span{display:block;height:100%;background:var(--aqua);transition:width .25s ease}.room-rail{position:sticky;top:0;z-index:18;display:flex;gap:1px;overflow-x:auto;padding:0 max(12px,calc((100vw - 1080px)/2));background:var(--surface);border-bottom:1px solid var(--line);scrollbar-width:none}.room-rail::-webkit-scrollbar{display:none}.room-rail button{min-width:110px;padding:12px 13px 10px;display:grid;gap:3px;text-align:left;border:0;border-bottom:3px solid transparent;background:#fff}.room-rail button span{font-size:12px;font-weight:750}.room-rail button b{color:var(--muted);font:650 10px ui-monospace,monospace}.room-rail button.active{color:var(--blue);border-bottom-color:var(--blue);background:var(--aqua-soft)}.mission-body{width:min(100% - 28px,1080px);margin:22px auto 0}.field-card,.completion-banner{padding:clamp(20px,4vw,34px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 6px 25px #133f500b}.field-card h2{font-size:26px;margin-bottom:22px}.autosave{color:var(--green);font-size:11px}.meta-grid{grid-template-columns:repeat(3,1fr)}.check-field{display:flex;flex-direction:row;align-items:center;gap:9px;min-height:44px;padding-top:22px}.check-field input{width:19px;height:19px}.keys-field{margin:24px 0 0;padding:20px 0 0;border:0;border-top:1px solid var(--line-soft)}.keys-field legend{padding:0;font-weight:750;font-size:14px}.key-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 20px;margin-top:12px}.key-grid label{display:flex;flex-direction:row;align-items:flex-start;gap:9px;font-size:12px;font-weight:500}.key-grid input{width:18px;height:18px;flex:0 0 auto}.inspection-list{margin-top:34px}.list-intro{display:flex;justify-content:space-between;align-items:end;padding:0 4px 12px}.list-intro h2{margin:0;font-size:clamp(23px,4vw,36px)}.list-intro>strong{color:var(--blue);font-size:29px}.room-section{margin-bottom:10px;scroll-margin-top:72px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.room-heading{width:100%;min-height:74px;display:grid;grid-template-columns:48px 1fr auto 28px;align-items:center;gap:12px;padding:12px 18px;border:0;background:var(--surface);text-align:left}.room-section.open .room-heading{background:var(--blue-deep);color:#fff}.room-index{color:var(--blue);font:800 12px ui-monospace,monospace}.room-section.open .room-index{color:var(--aqua)}.room-name{display:grid;gap:2px}.room-name strong{font-size:18px}.room-name small{color:var(--muted);font-size:11px}.room-section.open .room-name small{color:#bfd8d5}.room-count{color:var(--muted);font:750 12px ui-monospace,monospace}.room-section.open .room-count{color:var(--aqua)}.chevron{font-size:30px;color:var(--muted);transition:transform .2s ease}.room-section.open .chevron{color:#fff;transform:rotate(90deg)}.room-items{padding:0 18px}.inspection-item{position:relative;padding:21px 0 23px 13px;border-top:1px solid var(--line-soft)}.inspection-item:before{content:"";position:absolute;left:0;top:23px;bottom:23px;width:4px;border-radius:99px;background:var(--line)}.inspection-item.state-very_good:before,.inspection-item.state-good:before{background:var(--green)}.inspection-item.state-average:before{background:var(--amber)}.inspection-item.state-poor:before{background:var(--red)}.item-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:11px}.item-heading h3{margin:0;font-size:16px;letter-spacing:-.01em}.reference{margin:4px 0 0;color:var(--muted);font-size:11px}.saving-dot{color:var(--blue);font-size:10px}.state-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.state-buttons button{min-height:48px;display:grid;place-items:center;gap:1px;border:1px solid var(--line);border-radius:9px;background:#fff}.state-buttons button b{font-size:13px}.state-buttons button span{font-size:9px;color:var(--muted)}.state-buttons button.active{color:#fff;border-color:var(--green);background:var(--green)}.state-buttons button.active span{color:#fff}.state-buttons button.active[data-state=AVERAGE]{background:var(--amber);border-color:var(--amber);color:var(--ink)}.state-buttons button.active[data-state=AVERAGE] span{color:var(--ink)}.state-buttons button.active[data-state=POOR]{background:var(--red);border-color:var(--red)}.inspection-item>textarea{margin-top:9px;font-size:14px;background:#fff}.photo-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.photo-row figure{position:relative;width:68px;height:68px;margin:0}.photo-row figure img{width:100%;height:100%;object-fit:cover;border-radius:9px;border:1px solid var(--line)}.photo-row figure button{position:absolute;top:-6px;right:-6px;width:24px;height:24px;padding:0;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--red)}.photo-button{width:68px;height:68px;display:grid;place-items:center;align-content:center;gap:0;border:1px dashed var(--blue);border-radius:9px;color:var(--blue);background:var(--aqua-soft);cursor:pointer}.photo-button input{display:none}.photo-button span{font-size:23px;line-height:1}.photo-button small{font-size:9px}.photo-button.busy{opacity:.55}.photo-required{margin:7px 0 0;color:var(--red);font-size:11px}.retention-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:12px;padding:10px 12px;border-radius:9px;background:var(--amber-soft)}.retention-row label{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:7px;color:#754b0d}.retention-row input[type=checkbox]{width:18px;height:18px}.retention-row label>span{display:flex;align-items:center;gap:5px}.retention-row input[type=number]{width:92px;padding:6px 8px;background:#fff}.final-fields{margin-top:34px}.final-fields>label textarea{margin-top:2px}.override-field{margin-top:18px;padding:14px;background:var(--amber-soft);border:1px solid #edd19f;border-radius:11px;color:#754b0d}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.signature-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}.signature-card.saved{border-color:#a7d5c5;background:#f3faf7}.signature-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.signature-heading span{color:var(--green);font-size:10px;font-weight:800}.signature-canvas{display:block;width:100%;height:145px;margin-top:10px;border:1px dashed #9aabaa;border-radius:9px;background:#fff;touch-action:none}.signature-actions{display:flex;justify-content:space-between;align-items:center;margin-top:9px}.signature-message{margin:8px 0 0;color:var(--muted);font-size:11px}.mission-footer{position:fixed;z-index:30;left:0;right:0;bottom:0;min-height:82px;padding:11px max(18px,calc((100vw - 1080px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fffffff5;border-top:1px solid var(--line);box-shadow:0 -10px 36px #133f501a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mission-footer>div{display:grid}.mission-footer strong{font-size:19px}.mission-footer span{color:var(--muted);font-size:11px}.floating-error{position:fixed;z-index:50;right:18px;bottom:96px;width:min(430px,calc(100vw - 36px));padding:14px 42px 14px 16px;display:grid;gap:3px;border:1px solid #e7a9a4;border-radius:12px;background:var(--red-soft);color:#742c27;box-shadow:var(--shadow);font-size:13px}.floating-error button{position:absolute;right:9px;top:9px;border:0;background:transparent;font-size:20px;color:inherit}.completion-banner{width:min(100% - 28px,1080px);margin:22px auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;border-color:#a8d2c3;background:#eef9f4}.completion-check{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:27px}.completion-banner h2{margin-bottom:4px}.completion-banner p:last-child{margin:0;color:var(--muted)}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-intro{min-height:auto;padding:52px 28px}.login-intro h1{font-size:clamp(46px,13vw,78px)}.door-plan{margin-top:34px}.login-panel{min-height:52vh;padding:40px 24px}.admin-grid{grid-template-columns:1fr}.meta-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.admin-shell{padding-inline:13px}.admin-header{min-height:116px}.admin-header h1{font-size:34px}.panel{padding:20px 17px;border-radius:14px}.form-grid,.meta-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.mission-row{grid-template-columns:39px 1fr auto}.mission-row .status{grid-column:2;justify-self:start}.mission-row .icon-button{grid-column:3;grid-row:1 / span 2}.mission-header{padding:17px 16px 19px}.mission-header h1{max-width:290px}.mission-context{gap:4px 11px}.room-rail{padding-inline:5px}.room-rail button{min-width:94px}.mission-body{width:min(100% - 18px,1080px);margin-top:11px}.field-card{padding:19px 15px;border-radius:13px}.field-card>.section-heading{display:block}.field-card>.section-heading .autosave{display:block;margin:-13px 0 17px}.key-grid{grid-template-columns:1fr}.list-intro{align-items:flex-start}.list-intro>strong{font-size:22px}.room-heading{grid-template-columns:38px 1fr auto 18px;padding-inline:12px}.room-items{padding-inline:11px}.inspection-item{padding-left:10px}.state-buttons button{min-height:51px}.state-buttons button span{display:none}.state-buttons button b{font-size:14px}.signature-grid{grid-template-columns:1fr}.mission-footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.mission-footer .button{padding:12px 14px}.completion-banner{grid-template-columns:auto 1fr;padding:20px}.completion-banner .button{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
