:root{--bg:#f3f5f7;--surface:#ffffff;--surface-2:#eef3f2;--ink:#14213d;--muted:#637083;--line:#d8dee7;--teal:#0f766e;--teal-dark:#115e59;--amber:#b7791f;--rose:#be3455;--shadow:0 16px 44px rgba(20,33,61,0.1)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}label{color:var(--muted);display:grid;font-size:.78rem;font-weight:700;grid-gap:.35rem;gap:.35rem;text-transform:uppercase}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:42px;padding:.68rem .78rem;width:100%}.field-invalid{border-color:var(--rose);box-shadow:0 0 0 3px rgba(190,52,85,.12)}.field-error{color:var(--rose);font-size:.78rem;font-weight:800;text-transform:none}textarea{line-height:1.4;resize:vertical;text-transform:none}h1,h2,h3,h4,p{margin:0}.auth-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:1rem}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:1.4rem;gap:1.4rem;max-width:430px;padding:1.4rem;width:100%}.brand-lockup{align-items:center;display:flex;gap:.8rem}.brand-lockup svg{color:var(--teal);flex:0 0 auto}.brand-lockup h1{font-size:1.35rem;letter-spacing:0}.brand-lockup.compact h1{font-size:1.05rem}.eyebrow{color:var(--teal);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.login-form,.stack-form{display:grid;grid-gap:.9rem;gap:.9rem}.muted,.status-line{color:var(--muted)}.danger-button,.ghost-button,.icon-button,.nav-item,.primary-button,.secondary-button,.upload-button{align-items:center;border:0;border-radius:8px;display:inline-flex;font-weight:800;gap:.45rem;justify-content:center;min-height:42px;padding:.68rem .9rem}.primary-button{background:var(--teal);color:white}.primary-button:hover{background:var(--teal-dark)}.danger-button:disabled,.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.65}.secondary-button{background:#e5eef0;color:var(--ink)}.danger-button{background:#fff1f3;color:var(--rose)}.ghost-button{background:transparent;border:1px solid var(--line);color:var(--ink)}.ghost-button.full{width:100%}.link-button{display:inline-flex}.icon-button{background:#fff1f3;color:var(--rose);min-width:42px;padding:0}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#ffffff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:1.4rem;padding:1.1rem;position:-webkit-sticky;position:sticky;top:0;height:100vh}.nav-list{display:grid;grid-gap:.4rem;gap:.4rem}.nav-item{color:var(--muted);justify-content:flex-start}.nav-item.active,.nav-item:hover{background:var(--surface-2);color:var(--teal-dark)}.workspace{display:grid;grid-gap:1rem;gap:1rem;min-width:0;padding:1rem}.topbar{align-items:center;display:flex;gap:1rem;justify-content:space-between}.topbar h2{font-size:1.55rem;letter-spacing:0}.status-pill{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.85rem;max-width:44ch;padding:.58rem .9rem}.notice-panel{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#7c2d12;display:grid;grid-gap:.25rem;gap:.25rem;padding:.85rem 1rem}.notice-panel strong{font-size:.92rem}.notice-panel span{font-size:.9rem;line-height:1.35}.dashboard-grid{grid-gap:1rem;grid-template-columns:minmax(260px,330px) minmax(260px,360px) minmax(0,1fr)}.contracts-grid,.dashboard-grid{align-items:start;display:grid;gap:1rem}.contracts-grid{grid-gap:1rem;grid-template-columns:minmax(280px,460px) minmax(0,1fr)}.admin-grid{align-items:start;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(280px,380px) minmax(0,1fr)}.admin-stats{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(4,minmax(130px,1fr))}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:.35rem;gap:.35rem;padding:.9rem}.stat-card span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.stat-card strong{color:var(--teal-dark);font-size:1.55rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px rgba(20,33,61,.05);padding:1rem}.area-header,.detail-header,.panel-heading{align-items:center;display:flex;gap:1rem;justify-content:space-between}.detail-header h3,.panel-heading h3{font-size:1.05rem;letter-spacing:0}.two-cols{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:1fr 1fr}.area-stack,.contract-fields,.inspection-list,.template-list{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:.9rem}.contract-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.wide-field{grid-column:1/-1}.inspection-row{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:flex;gap:1rem;justify-content:space-between;padding:.8rem;text-align:left;width:100%}.inspection-row.selected,.inspection-row:hover{border-color:var(--teal)}.inspection-row span,.template-row div{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.inspection-row strong,.template-row strong{overflow-wrap:anywhere}.area-header p,.inspection-row em,.inspection-row small,.template-row small{color:var(--muted);font-size:.78rem;font-style:normal}.detail-panel{min-height:72vh}.empty-state{align-items:center;color:var(--muted);display:grid;grid-gap:.7rem;gap:.7rem;justify-items:center;min-height:220px;padding:1rem;text-align:center}.action-bar,.stat-strip{display:flex;flex-wrap:wrap;gap:.55rem}.stat-strip span{background:var(--surface-2);border-radius:999px;color:var(--teal-dark);font-size:.78rem;font-weight:800;padding:.45rem .65rem}.action-bar{border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin:1rem 0;padding:.8rem 0}.compact-button{min-width:118px}.summary-organizer{background:#f8fbfb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:.75rem;gap:.75rem;margin-bottom:1rem;padding:.9rem}.summary-organizer-heading{align-items:center;color:var(--ink);display:flex;justify-content:space-between}.summary-organizer-heading h4{font-size:1rem}.summary-organizer .secondary-button{justify-self:start}.area-card{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:.9rem;gap:.9rem;padding:.9rem}.area-header h4{font-size:1rem}.upload-button{background:#fff7ed;color:var(--amber);cursor:pointer;min-height:40px;position:relative}.upload-button input{inset:0;opacity:0;position:absolute}.area-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.photo-strip{display:flex;gap:.55rem;min-height:0;overflow-x:auto}.photo-thumb{border:1px solid var(--line);border-radius:8px;flex:0 0 122px;margin:0;overflow:hidden;position:relative}.photo-strip img{aspect-ratio:4/3;border:0;border-radius:0;display:block;height:92px;object-fit:cover;width:100%}.photo-status{background:rgba(20,33,61,.86);color:#fff;font-size:.68rem;font-weight:800;left:0;padding:.25rem .35rem;position:absolute;right:0;text-align:center;text-transform:uppercase;top:0}.status-analyzed{background:rgba(15,118,110,.9)}.status-failed{background:rgba(190,52,85,.92)}.photo-retry{background:rgba(255,255,255,.94);border:0;border-top:1px solid var(--line);color:var(--teal-dark);font-size:.72rem;font-weight:800;min-height:30px;width:100%}.item-row,.items-table{display:grid;grid-gap:.45rem;gap:.45rem}.item-row{align-items:center;grid-template-columns:minmax(140px,1.2fr) minmax(110px,.8fr) minmax(130px,1fr) 76px 42px}.item-row input{min-height:38px}.template-row{align-items:center;border:1px solid var(--line);border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:.8rem}.template-row span{background:#e7f5ef;border-radius:999px;color:var(--teal-dark);font-size:.78rem;font-weight:800;padding:.35rem .6rem}.template-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.users-panel{overflow-x:auto}.user-list{display:grid;grid-gap:.65rem;gap:.65rem;margin-top:.9rem;min-width:760px}.user-row{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:minmax(140px,1fr) minmax(180px,1.2fr) 130px minmax(150px,1fr) 110px 120px;padding:.7rem}.user-row input,.user-row select{min-height:38px}.user-row span{color:var(--muted);font-size:.82rem;font-weight:800}@media (max-width:1260px){.dashboard-grid{grid-template-columns:minmax(260px,340px) minmax(0,1fr)}.detail-panel{grid-column:1/-1}}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid var(--line);border-right:0;height:auto;position:static}.nav-list{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.detail-header,.panel-heading,.topbar{align-items:stretch;flex-direction:column}.admin-grid,.contract-fields,.contracts-grid,.dashboard-grid,.two-cols{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.status-pill{border-radius:8px;max-width:none}.item-row{grid-template-columns:1fr 1fr}.item-row .icon-button{grid-column:span 2;width:100%}}@media (max-width:520px){.area-card,.panel,.sidebar,.workspace{padding:.75rem}.topbar h2{font-size:1.25rem}.area-header{align-items:stretch;flex-direction:column}.area-actions{justify-content:stretch}.area-actions .secondary-button,.area-actions .upload-button{width:100%}.item-row{grid-template-columns:1fr}.template-row{align-items:stretch;flex-direction:column}.template-actions{justify-content:space-between}.admin-stats{grid-template-columns:1fr}.item-row .icon-button{grid-column:auto}}