@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans SC,sans-serif;color:#172224;background:#f3f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.login-shell{min-height:100vh;display:grid;grid-template-columns:480px 1fr}.login-panel{background:#fff;padding:12vh 72px;display:flex;flex-direction:column}.brand-mark,.logo b{display:grid;place-items:center;background:#194c3c;color:#fff;font:700 25px Georgia;border-radius:10px;width:48px;height:48px}.eyebrow{margin:24px 0 6px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:#799086}.login-panel h1{font-size:34px;margin:0}.muted{color:#7c8983;margin:8px 0 36px}.login-panel label{font-weight:600;font-size:13px;margin-top:18px}.login-panel input{width:100%;border:1px solid #dce4df;border-radius:8px;padding:13px;margin-top:8px;outline:none}.login-panel input:focus{border-color:#307a60;box-shadow:0 0 0 3px #dceee6}.primary{border:0;background:#1d6049!important;color:#fff!important}.wide{width:100%;padding:14px;border-radius:8px;margin-top:24px}.login-art{background:linear-gradient(135deg,#123e32,#1d6750);color:#fff;padding:12vh 8vw;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;width:480px;height:480px;border:100px solid rgba(255,255,255,.04);border-radius:50%;right:-120px;bottom:-180px}.login-art>span{font-size:12px;letter-spacing:.4em;color:#a7cfbe}.login-art h2{font-size:48px;line-height:1.25;margin-top:22vh}.flow-line{color:#b9d5ca;margin-top:50px}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.sidebar{position:fixed;width:238px;height:100vh;background:#123f32;color:#eaf3ef;padding:26px 16px;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.logo b{width:39px;height:39px;border:1px solid #5d8b79;background:#fff;color:#194c3c}.logo span{font-weight:700}.logo small{display:block;font-size:9px;letter-spacing:.12em;color:#95b4a8;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{background:transparent;color:#b9cfc6;border:0;text-align:left;border-radius:8px;padding:12px;cursor:pointer}.sidebar nav button i{font-style:normal;width:28px;display:inline-block}.sidebar nav button.active,.sidebar nav button:hover{background:#275a49;color:#fff}.sidebar-foot{margin-top:auto;font-size:11px;color:#9eb9ae;padding:14px 8px;border-top:1px solid #326251}.sidebar-foot button{float:right;border:0;background:none;color:#bcd0c8;cursor:pointer}.live-dot{display:inline-block;width:7px;height:7px;background:#54d49b;border-radius:50%;margin-right:7px;box-shadow:0 0 0 4px #54d49b1a}.live-dot.offline{background:#e5a96d}.content{grid-column:2;padding:34px 42px 70px;max-width:1600px}.content>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.content header .eyebrow{margin:0 0 5px}.content h1{font-size:28px;margin:0}.ghost{background:#fff;border:1px solid #dce5e0;border-radius:8px;padding:10px 15px;cursor:pointer}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metrics article,.card,.room-card{background:#fff;border:1px solid #e2e9e5;border-radius:12px;box-shadow:0 2px 12px #18362b09}.metrics article{padding:22px}.metrics span{display:block;color:#75827c;font-size:13px}.metrics strong{font-size:34px;line-height:1.3;color:#1d6049}.metrics strong.warn{color:#d97838}.metrics small{margin-left:7px;color:#9ba59f}.grid-two{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-top:16px}.card{padding:22px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card h2{font-size:16px;margin:0}.card-head>span{font-size:11px;color:#89958f}.order-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #eef2ef}.room-badge{width:42px;height:42px;border-radius:8px;background:#e7f2ed;color:#1d6049;display:grid;place-items:center;font-weight:700}.order-row small,td small{display:block;color:#8b9791;margin-top:3px}.status{display:inline-block;padding:5px 9px;background:#eef3f0;color:#4f675e;border-radius:20px;font-size:11px}.status[data-status=REVIEW_PENDING],.status[data-status=VACANT_DIRTY]{background:#fff0df;color:#b96522}.status[data-status=IN_PROGRESS]{background:#e7f2ff;color:#3471a8}.status[data-status=CLOSED]{background:#e4f4eb;color:#277354}.status[data-status=FROZEN],.status[data-status=REWORK]{background:#fde6e6;color:#b74848}.rank-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;padding:14px 0;border-top:1px solid #eef2ef}.rank-row i{font-style:normal;color:#789087}.flow-card{margin-top:16px}.flow{display:flex;align-items:center;margin-top:24px}.flow>div{display:flex;align-items:center;gap:10px}.flow b{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;border:1px solid #b9ccc4;color:#32745b}.flow span{font-size:12px;font-weight:600}.flow small{display:block;color:#96a19c;margin-top:2px;font-weight:400}.flow em{height:1px;background:#d7e2dd;flex:1;margin:0 14px}.table-card{padding:0;overflow:hidden}.table-card .card-head{padding:22px;margin:0}table{width:100%;border-collapse:collapse;text-align:left}th{background:#f7f9f7;color:#79867f;font-size:11px;text-transform:uppercase;letter-spacing:.05em}th,td{padding:13px 22px;border-top:1px solid #e9eeeb;font-size:13px}td code{font-size:11px;color:#376a57}.actions{display:flex;gap:6px}.small{border:1px solid #d7e2dd;background:#fff;border-radius:6px;padding:6px 9px;font-size:11px;cursor:pointer}.danger{color:#ae4242;border-color:#efcaca}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.room-card{padding:18px;border-top:3px solid #3e8a6d}.room-card[data-state=VACANT_DIRTY]{border-top-color:#e6974f}.room-card>div{display:flex;justify-content:space-between}.room-card b{font-size:22px}.room-card div span,.room-card small{color:#8a9791;font-size:11px}.room-card strong{display:block;margin:22px 0 9px;font-size:13px}.connector-grid{max-width:900px}.connector-card{display:grid;grid-template-columns:70px 1fr 280px;align-items:center;gap:22px}.plug{width:60px;height:60px;border-radius:12px;background:#e6f2ed;display:grid;place-items:center;font-size:32px;color:#286c53}.connector-card .eyebrow{margin:0 0 5px}.connector-card h2{font-size:20px}.connector-card p{font-size:12px;color:#6f7f78}.safe-box{background:#fff7e9;border:1px solid #f2dfb8;padding:15px;border-radius:9px}.safe-box b{font-size:12px;color:#a26820}.safe-box p{margin-bottom:0;color:#8a7048}.empty{color:#94a099;text-align:center;padding:40px}.error{color:#b83f3f;font-size:12px}.error-banner{background:#fdeaea;color:#a94343;padding:12px 15px;border-radius:8px}.login-panel button:disabled{opacity:.6}@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.flow{flex-wrap:wrap;gap:14px}.flow em{display:none}.login-shell{grid-template-columns:1fr}.login-art{display:none}}@media(max-width:700px){.app-shell{display:block}.sidebar{display:none}.content{grid-column:auto;padding:24px 16px}.metrics{grid-template-columns:1fr 1fr}.content>header{align-items:flex-start}.room-grid{grid-template-columns:repeat(2,1fr)}.table-card{overflow:auto}table{min-width:750px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1e17a3;display:grid;place-items:center;z-index:20;padding:30px}.review-modal{width:min(940px,94vw);max-height:92vh;overflow:auto;background:#f7f9f7;border-radius:14px;padding:26px;box-shadow:0 20px 80px #00000038}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-head .eyebrow{margin:0 0 5px}.modal-head h2{margin:0;font-size:24px}.photo-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.photo-review-grid figure{margin:0;background:#fff;border:1px solid #dce5e0;border-radius:10px;overflow:hidden}.photo-review-grid img{display:block;width:100%;height:190px;object-fit:cover;background:#e4ebe7}.photo-review-grid figcaption{padding:10px 12px;font-size:12px;font-weight:600}.photo-review-grid figcaption span{float:right;color:#b64b43;font-weight:500}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.modal-actions button{border:0;border-radius:8px;padding:11px 18px;cursor:pointer}.modal-actions .danger{background:#f9e4e2;color:#a5413a}@media(max-width:700px){.photo-review-grid{grid-template-columns:repeat(2,1fr)}.photo-review-grid img{height:130px}}
