
 @font-face{font-family:'Satoshi';font-weight:400;font-style:normal;font-display:swap;src:url('/assets/fonts/satoshi-400.woff2') format('woff2')}@font-face{font-family:'Satoshi';font-weight:500;font-style:normal;font-display:swap;src:url('/assets/fonts/satoshi-500.woff2') format('woff2')}@font-face{font-family:'Satoshi';font-weight:700;font-style:normal;font-display:swap;src:url('/assets/fonts/satoshi-700.woff2') format('woff2')}@font-face{font-family:'Satoshi';font-weight:900;font-style:normal;font-display:swap;src:url('/assets/fonts/satoshi-900.woff2') format('woff2')}
 h1,h2,.callout h2{font-family:'Satoshi',system-ui,-apple-system,sans-serif;font-weight:700;letter-spacing:-.025em;line-height:1.12}
 h1{font-size:clamp(32px,4.6vw,46px)}
 ::selection{background:rgba(176,134,58,.25)}
 .card a:not(.btn){color:var(--accent)}
 .statSync strong{display:block;font-size:24px;color:#c9a24a;font-family:'Satoshi',system-ui,-apple-system,sans-serif;font-weight:700}
 .statSync span{color:rgba(255,255,255,.6);font-size:13px}

 :root{
 --bg:#f6f4ef;
 --panel:#ffffff;
 --text:#283042;
 --muted:#5a6478;
 --border:#e5e1d6;
 --accent:#14213d;
 --green:#00cc70;
 --red:#ff3333;
 --grey:#999999;
 }
 *{box-sizing:border-box;margin:0;padding:0}
 body{
 font-family:'Satoshi',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
 background:var(--bg);
 color:var(--text);
 line-height:1.6;
 padding:20px;
 max-width:900px;
 margin:0 auto;
 }

 .header{
 text-align:center;
 margin-bottom:32px;
 padding-bottom:24px;
 border-bottom:2px solid var(--border);
 }
 .logo{height:96px;margin-bottom:12px;width:auto}
 h1{font-size:26px;margin-bottom:6px;color:var(--accent);font-weight:800}
 .subtitle{color:var(--muted);font-size:14px}

 .btn-print{
 display:inline-block;
 background:#c9a24a;
 color:#0c1326;
 border:none;
 padding:14px 28px;
 border-radius:8px;
 font-size:16px;
 font-weight:700;
 cursor:pointer;
 margin-bottom:24px;
 transition:background .2s;
 }
 .btn-print:hover{background:#e6b63c}
 .btn-print svg{
 width:18px;height:18px;
 display:inline-block;
 vertical-align:middle;
 margin-right:6px;
 }

 /* ── TIER SELECTOR ── */
 .tier-selector{
 background:var(--panel);
 border:2px solid var(--border);
 border-radius:12px;
 padding:24px;
 margin-bottom:32px;
 }
 .tier-selector h2{font-size:18px;margin-bottom:16px;color:var(--text);font-weight:700}
 .tier-buttons{
 display:flex;
 gap:12px;
 flex-wrap:wrap;
 }
 .tier-btn{
 flex:1;
 min-width:140px;
 background:var(--panel);
 border:2px solid var(--border);
 border-radius:8px;
 padding:16px 12px;
 cursor:pointer;
 text-align:center;
 transition:all .2s;
 font-size:15px;
 font-weight:600;
 }
 .tier-btn:hover{border-color:var(--accent)}
 .tier-btn.active{
 background:#c9a24a;
 border-color:#c9a24a;
 color:#0c1326;
 font-weight:700;
 }
 .tier-btn .tier-num{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;opacity:.7}
 .tier-btn .tier-name{font-size:15px}

 /* ── SECTIONS ── */
 .section{
 background:var(--panel);
 border:1px solid var(--border);
 border-radius:12px;
 padding:24px;
 margin-bottom:24px;
 }
 .section.hidden{display:none}
 .section h2{
 font-size:18px;
 font-weight:700;
 color:var(--text);
 margin-bottom:20px;
 padding-bottom:12px;
 border-bottom:2px solid var(--border);
 }
 .section h3{
 font-size:16px;
 font-weight:700;
 color:var(--text);
 margin:24px 0 12px;
 }

 /* ── FORM GRID ── */
 .form-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:16px;
 margin-bottom:20px;
 }
 @media(max-width:600px){
 .form-grid{grid-template-columns:1fr}
 }
 .form-field{display:flex;flex-direction:column;gap:6px}
 .form-field.full{grid-column:1/-1}
 label{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
 input[type="text"],
 input[type="email"],
 input[type="tel"],
 input[type="date"],
 input[type="number"],
 select,
 textarea{
 border:1px solid var(--border);
 border-radius:6px;
 padding:12px;
 font-size:15px;
 font-family:inherit;
 background:var(--panel);
 color:var(--text);
 }
 input:focus,select:focus,textarea:focus{
 outline:none;
 border-color:var(--accent);
 }
 textarea{resize:vertical;min-height:80px}

 /* ── CHECK ITEMS ── */
 .check-item{
 display:flex;
 align-items:flex-start;
 gap:12px;
 padding:16px 0;
 border-bottom:1px solid var(--border);
 }
 .check-item:last-child{border-bottom:none}
 .check-label{
 flex:1;
 font-size:15px;
 color:var(--text);
 padding-top:8px;
 font-weight:500;
 }
 .check-controls{
 display:flex;
 gap:8px;
 align-items:flex-start;
 flex-direction:column;
 }
 .toggle-group{
 display:flex;
 gap:6px;
 }
 .toggle-btn{
 min-width:70px;
 min-height:44px;
 padding:10px 14px;
 border:2px solid var(--border);
 border-radius:6px;
 background:var(--panel);
 cursor:pointer;
 font-size:13px;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:.05em;
 transition:all .15s;
 color:var(--muted);
 }
 .toggle-btn:hover{border-color:var(--accent)}
 .toggle-btn.active.pass{
 background:var(--green);
 border-color:var(--green);
 color:#fff;
 }
 .toggle-btn.active.fail{
 background:var(--red);
 border-color:var(--red);
 color:#fff;
 }
 .toggle-btn.active.na{
 background:var(--grey);
 border-color:var(--grey);
 color:#fff;
 }
 .check-notes{
 width:100%;
 margin-top:8px;
 display:none;
 }
 .check-notes.visible{display:block}
 .check-notes textarea{
 width:100%;
 min-height:70px;
 font-size:14px;
 }

 /* ── ROOM CHECKLIST ── */
 .room-checks{
 display:flex;
 flex-direction:column;
 gap:0;
 }
 .room-item{
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:14px 0;
 border-bottom:1px solid var(--border);
 gap:16px;
 flex-wrap:wrap;
 }
 .room-item:last-child{border-bottom:none}
 .room-name{
 font-weight:600;
 font-size:15px;
 color:var(--text);
 min-width:140px;
 }
 .room-controls{
 display:flex;
 gap:8px;
 align-items:center;
 flex-wrap:wrap;
 }
 .room-notes{
 flex-basis:100%;
 margin-top:8px;
 display:none;
 }
 .room-notes.visible{display:block}

 /* ── SUMMARY ── */
 .summary-status{
 background:var(--panel);
 border:2px solid var(--border);
 border-radius:8px;
 padding:20px;
 margin-bottom:20px;
 text-align:center;
 }
 .summary-status h3{
 font-size:14px;
 text-transform:uppercase;
 letter-spacing:.08em;
 color:var(--muted);
 margin-bottom:8px;
 }
 .summary-status .status-value{
 font-size:24px;
 font-weight:800;
 color:var(--text);
 }
 .summary-status.pass-status .status-value{color:var(--green)}
 .summary-status.fail-status .status-value{color:var(--red)}
 .summary-status.attention-status .status-value{color:#ff9500}

 .fail-list{
 background:#fff5f5;
 border:1px solid #ffcccc;
 border-radius:8px;
 padding:16px;
 margin-bottom:20px;
 }
 .fail-list h3{
 font-size:15px;
 font-weight:700;
 color:var(--red);
 margin-bottom:12px;
 }
 .fail-list ul{
 list-style:none;
 padding:0;
 margin:0;
 }
 .fail-list li{
 padding:8px 0;
 border-bottom:1px solid #ffe0e0;
 font-size:14px;
 color:var(--text);
 }
 .fail-list li:last-child{border-bottom:none}
 .fail-list li strong{color:var(--red);font-weight:700}
 .fail-list .no-fails{color:var(--muted);font-style:italic}

 /* ── PRINT STYLES ── */
 @media print{
 body{
 padding:0;
 max-width:100%;
 background:var(--panel);
 }
 .btn-print,.tier-selector{display:none !important}
 .section{
 border:none;
 box-shadow:none;
 page-break-inside:avoid;
 padding:12px 0;
 }
 .section h2{
 font-size:16px;
 margin-bottom:12px;
 padding-bottom:8px;
 }
 .header{
 text-align:center;
 margin-bottom:20px;
 padding-bottom:16px;
 }
 .logo{height:96px;width:auto}
 h1{font-size:20px;color:#1a1a1a}
 .subtitle{font-size:12px}
 .check-item,.room-item{
 padding:8px 0;
 }
 .check-label,.room-name{font-size:13px}
 .toggle-btn{
 min-height:32px;
 padding:6px 10px;
 font-size:11px;
 }
 .check-notes textarea,.room-notes textarea{
 border:1px solid #ccc;
 padding:8px;
 font-size:12px;
 min-height:50px;
 }
 .form-grid{gap:10px}
 input,select,textarea{
 font-size:13px;
 padding:6px 8px;
 border:1px solid #ccc;
 }
 .summary-status{
 border:2px solid #1a1a1a;
 padding:12px;
 }
 .summary-status .status-value{font-size:18px}
 .fail-list{
 background:#f9f9f9;
 border:1px solid #ccc;
 padding:12px;
 }
 .fail-list li{font-size:12px;padding:6px 0}
 }

 @media(max-width:600px){
 .toggle-group{flex-wrap:wrap}
 .toggle-btn{flex:1;min-width:60px}
 .room-controls{width:100%}
 }
 