:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#302a26;background:#f7f5f2;font-synthesis:none;--nav:#292522;--teal:hsl(24.29deg 100% 50.59%);--line:#e5dfd9;--muted:#756b63;--amber:#a76610}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:#493b30;padding:10px 15px;border-radius:7px;font-size:13px;font-weight:600}button:hover{background:#fff2e5;border-color:#e5b68f}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--teal);color:#251a12;border-color:var(--teal)}.primary:hover{background:#d9690c;color:#251a12}.danger{color:#b73737}.quiet{border:0;background:transparent;font-size:12px;color:var(--muted);text-decoration:none}.muted,small{color:var(--muted)}small{font-size:12px;line-height:1.6}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:#a84c08;margin:0 0 10px}h1{font-size:29px;letter-spacing:-.8px;margin:0 0 10px;font-weight:650}h2{font-size:18px;margin:0 0 16px}h3{font-size:14px;margin:0 0 10px}p{line-height:1.6}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);padding:31px 17px;position:sticky;top:0;height:100vh;color:#e1d9d2;display:flex;flex-direction:column}.brand{color:inherit;text-decoration:none;font-size:14px;font-weight:750;letter-spacing:.6px;display:flex;align-items:center;gap:10px}.brand-mark{background:hsl(24.29deg 100% 50.59%);color:#251a12;font-size:21px;padding:8px 12px;border-radius:9px}.brand small{display:block;color:#b8aaa0;font-size:9px;font-weight:400;letter-spacing:0;margin-top:5px}.nav-label{font-size:9px;color:#b8aaa0;letter-spacing:1.6px;margin:38px 11px 15px}nav{display:grid;gap:4px}nav button{text-align:left;border:0;background:transparent;color:#d1c3b8;font-weight:450;padding:11px 13px;font-size:12px;display:flex;gap:12px;align-items:center}nav button .nav-icon{font-size:16px;width:18px;text-align:center}nav button.active,nav button:hover{background:#493021;color:#fff}nav button.active{box-shadow:inset 3px 0 hsl(24.29deg 100% 50.59%)}.sidebar-foot{margin-top:auto;padding:25px 10px 0;font-size:11px}.sidebar-foot small{display:block;color:#b8aaa0;font-size:10px;margin-top:8px}.status-dot{display:inline-block;width:6px;height:6px;background:#e1ab4f;border-radius:100%;margin-right:6px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;font-size:12px}.divider{margin:0 15px;color:#c9bfb6}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}#user-label{font-size:11px;border-left:1px solid var(--line);padding-left:16px}#main{padding:34px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-heading .muted{font-size:12px;margin:0}.filter-bar{margin-bottom:22px}.filter-bar select{min-width:175px}.filter-bar .badge{margin-left:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px}.card,.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px}.stat-card{padding:21px 23px}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#756b63}.stat-symbol{background:#fff0e1;color:#a84c08;border-radius:8px;padding:7px 10px;font-size:18px}.stat-number{font-size:34px;font-weight:650;letter-spacing:-1px;display:block;margin:10px 0 5px}.stat-card small{font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:22px}.card{padding:23px;margin-bottom:22px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.card-heading h2{margin:0}.badge{display:inline-block;font-size:10px;padding:5px 9px;border-radius:5px;white-space:nowrap;background:#fff4de;color:#9c690e;line-height:1.4}.badge.good{color:#13785a;background:#e5f5ed}.badge.bad{color:#b03d43;background:#fdeced}.badge.neutral{background:#f2eeea;color:#756b63}.badge.proposed{background:#eeebfb;color:#7560ac}.notice{border:1px solid #f1dfb7;background:#fffaf0;color:#97742c;border-radius:7px;padding:12px 15px;font-size:11px;line-height:1.6;margin-bottom:22px}.room-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #f0ebe6}.room-row:last-child{border:0}.room-avatar{width:37px;height:37px;border-radius:7px;background:#f5f0eb;display:grid;place-items:center;font-size:11px;font-weight:650;color:#796555}.room-info{flex:1}.room-info strong{display:block;font-size:12px;margin-bottom:4px}.room-info small{font-size:10px}.progress{height:6px;border-radius:6px;background:#eee7e1;overflow:hidden;min-width:50px}.progress span{display:block;background:var(--teal);height:100%}.progress-wrap{width:95px;text-align:right;font-size:10px;color:var(--muted)}.progress-wrap .progress{margin-top:7px}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:14px}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#e0a33e}.legend i.green{background:#2f9f78}.legend i.red{background:#d56b69}.empty{text-align:center;padding:35px 15px;color:var(--muted);font-size:13px;line-height:1.8}.empty strong{display:block;color:#493b30}.summary-line{display:flex;justify-content:space-between;padding:11px 0;font-size:12px;border-bottom:1px solid #f0ebe6}.summary-line:last-child{border:0}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#756b63;font-size:10px;font-weight:650;letter-spacing:.3px;background:#faf8f5}th,td{padding:13px 11px;border-bottom:1px solid #f0ebe6;vertical-align:top}td small{font-size:10px}td button{padding:5px 8px;font-size:10px}td.actions{white-space:nowrap}.table-wrap{overflow:auto}input,select,textarea{border:1px solid #ddd3ca;border-radius:6px;background:#fff;color:#493b30;padding:10px 11px;font-size:12px;max-width:100%}input:focus,select:focus,textarea:focus{border-color:var(--teal)}label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#756b63}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:auto}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.tabs button.active{background:#fff0e1;border-color:#efc29e;color:#a84c08}.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:18px}.plan-card{padding:15px}.plan-toolbar{padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:13px}.plan-toolbar button{font-size:11px;padding:7px 10px}.plan-toolbar label{display:inline-flex;flex-direction:row;align-items:center;gap:4px}.plan-svg{width:100%;height:510px;background:#faf8f5;border:1px solid #e5dfd9;border-radius:8px;touch-action:none}.plan-svg .room-shape{fill:#f5f0eb;stroke:#a58b77;stroke-width:2}.plan-svg .selected .room-shape{stroke:hsl(24.29deg 100% 50.59%);fill:#fff0e1;stroke-width:3}.plan-svg .room-title{font-size:12px;font-weight:650;fill:#493b30}.plan-svg .room-subtitle{font-size:9px;fill:#8b7b6e}.plan-svg .device-shape{fill:#fff;stroke:#caa35d;stroke-width:1.5}.plan-svg .verified .device-shape{stroke:#298765;fill:#ecf7f1}.plan-svg .failed .device-shape{stroke:#cc5353;fill:#fff0ee}.plan-svg .proposed .device-shape{stroke:#8d74bf;stroke-dasharray:4 3}.plan-svg .device-text{font-size:12px;fill:#756b63;pointer-events:none}.plan-svg .device-code{font-size:7px;fill:#756b63;pointer-events:none}.plan-svg [data-table]{cursor:grab}.plan-svg text{user-select:none}.plan-svg .architect{fill:#f2f0e8;stroke:#a8a28d;stroke-width:1.5}.inspector p{font-size:12px;line-height:1.7}.inspector .toolbar{margin-top:15px}.inspector .toolbar button{font-size:11px}.inspector hr{border:0;border-top:1px solid var(--line);margin:20px 0}.layers{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.layers label{flex-direction:row;align-items:center;font-size:10px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.gallery figure{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.gallery img,.gallery video{width:100%;height:180px;object-fit:cover}.gallery figcaption{padding:12px;font-size:11px;line-height:1.6}.gallery a{color:#a84c08}.report-section{white-space:pre-wrap;font-size:13px;line-height:1.8}footer{padding:12px 34px 25px;color:#8b7b6e;font-size:10px;display:flex;justify-content:space-between;gap:15px}dialog{border:1px solid var(--line);border-radius:13px;padding:25px;width:760px;max-width:94vw;max-height:90vh;box-shadow:0 25px 90px #29252233}dialog::backdrop{background:#29252280;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-heading h2{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:25px}.error{color:#b33b46;font-size:12px;white-space:pre-wrap}.login{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr}.login-story{background:#292522;color:#faf5f0;padding:55px 12%;display:flex;flex-direction:column;justify-content:center}.login-story .brand{margin-bottom:90px}.login-story .eyebrow{color:#f3a565}.login-story h1{font-size:47px;line-height:1.2}.login-story p:not(.eyebrow){color:#d5c6bb;max-width:420px;font-size:14px}.login-story small{color:#b8aaa0;margin-top:30px}.login-grid{display:flex;align-items:center;margin:40px 0 25px}.login-grid span{border:1px solid #796555;border-radius:14px;padding:30px;font-size:25px}.login-grid i{height:1px;background:hsl(24.29deg 100% 50.59%);width:110px}.login-card{align-self:center;justify-self:center;width:340px;max-width:85%;padding:30px 0}.login-card h2{font-size:29px}.login-card .muted{font-size:13px;margin-bottom:35px}.login-card label{margin:20px 0}.login-card input{font-size:14px;padding:13px}.login-card button{width:100%;display:flex;justify-content:space-between;margin-top:30px;padding:14px}.login-card small{display:block;margin-top:35px;font-size:11px}#toast{position:fixed;bottom:25px;right:25px;max-width:440px;background:#332a24;color:white;padding:15px 22px;z-index:100;border-radius:9px;box-shadow:0 8px 30px #332a2433;font-size:13px;line-height:1.5}.checklist label{flex-direction:row;align-items:center;margin:9px 0}.topology{width:100%;height:450px;background:#faf8f5}.topology text{font-size:11px;fill:#493b30}.topology circle{fill:white;stroke:#b9a99c;stroke-width:2}.topology line{stroke:#a58b77;stroke-width:2}.topology .path{stroke:hsl(24.29deg 100% 50.59%);stroke-width:4}.topology .proposed{stroke:#9274b9;stroke-dasharray:7 5}.topology .pending{stroke:#cfa04b;stroke-dasharray:4 4}.topology .error{stroke:#cb5d65}.presentation{max-width:1200px;margin:30px auto;padding:25px}.presentation .plan-svg{height:auto}[hidden]{display:none!important}@media(min-width:1600px){.plan-svg{height:600px}}@media(max-width:1150px){.app-shell{grid-template-columns:190px 1fr}.sidebar{padding:24px 10px}#main{padding:25px}.stats{grid-template-columns:repeat(2,1fr)}.plan-layout{grid-template-columns:1fr}.inspector{order:2}.topbar{padding:0 25px}.topbar .quiet{font-size:10px}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto;padding:15px}.sidebar .brand{margin-bottom:15px}.nav-label,.sidebar-foot{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;padding:10px;font-size:11px}nav button .nav-icon{display:none}.topbar{height:auto;min-height:65px;padding:15px;gap:10px;flex-wrap:wrap}#main{padding:20px 14px}.page-heading{align-items:flex-start;flex-direction:column}h1{font-size:24px}.dashboard-grid{grid-template-columns:1fr}.stats{gap:10px}.stat-card{padding:16px}.stat-number{font-size:29px}.card{padding:17px}.plan-svg{height:370px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}footer span{display:none}.login{grid-template-columns:1fr}.login-story{padding:30px}.login-story .brand{margin-bottom:25px}.login-story h1{font-size:33px}.login-grid,.login-story small{display:none}.login-card{padding:40px 0}.filter-bar select{min-width:135px}.topbar .quiet{font-size:11px}}@media print{body{background:white}.sidebar,.topbar,.page-actions,.filter-bar,.tabs,.toolbar,footer,.actions,#toast,.form-actions{display:none!important}.app-shell,.dashboard-grid,.plan-layout{display:block}#main{padding:0}.card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}.plan-svg{height:auto}h1{font-size:23px}.stats{grid-template-columns:repeat(4,1fr)}.inspector{display:none}.presentation{margin:0;padding:0}}
