.operations{position:fixed;inset:0;z-index:80;overflow:auto;background:#faf9f5;color:#152f3b;font:400 15px/1.65 Manrope,'Noto Sans Thai',sans-serif}.operations *,.op-dialog *{box-sizing:border-box}.op-header{position:sticky;top:0;z-index:2;background:#132e3c;color:#faf9f5;padding:18px 4%;display:flex;align-items:center;justify-content:space-between;gap:15px}.op-brand{font-size:28px;font-weight:700;line-height:1.1}.op-brand span{color:#29baa9}.op-brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:8px}.op-button{border:1px solid #dbe1da;border-radius:6px;background:#fff;color:#152f3b;padding:10px 16px;font:500 14px Manrope,'Noto Sans Thai',sans-serif;cursor:pointer;margin:4px;min-height:44px}.op-button:hover{background:#edf2eb}.op-button:disabled{opacity:.55;cursor:wait}.op-button.primary{background:#132e3c;color:#fff;width:100%}.op-launch{font:500 12px 'Noto Sans Thai',sans-serif;background:#eef1e9;border:0;border-radius:6px;padding:8px;color:#132e3c}.op-status{padding:9px 4%;background:#edf2eb;color:#2d635b;font-size:13px}.op-status.offline{background:#fff0e9;color:#a33c2c}.op-nav{display:flex;gap:8px;padding:15px 4%;overflow-x:auto;border-bottom:1px solid #e2e5df;white-space:nowrap}.op-nav button{background:none;border:0;font:500 14px 'Noto Sans Thai',sans-serif;padding:10px 16px;color:#62717a;border-radius:6px;cursor:pointer}.op-nav button.active{background:#2d635b;color:white}.op-content{max-width:1260px;margin:auto;padding:25px 30px 60px}.op-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.op-heading h1{font-size:30px;margin:4px 0 20px}.op-eyebrow{font-size:11px;letter-spacing:2px;color:#a88d61}.op-card{background:#fff;border:1px solid #e2e5df;border-radius:10px;padding:24px;margin:18px 0}.op-card h2{font-size:20px}.op-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #e2e5df}.op-row:last-child{border-bottom:0}.op-row h3{font-size:17px;margin:4px 0}.op-row p{margin:4px 0}.op-row small,.op-muted{display:block;color:#62717a;font-size:13px}.op-row>div:last-child{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;max-width:40%}.op-row.emergency{border-left:4px solid #ae3e35;padding-left:15px}.op-tag{display:inline-block;padding:5px 12px;border-radius:20px;background:#eff2e9;color:#2d635b;font-size:12px;white-space:nowrap}.op-tag.new,.op-tag.open,.op-tag.pending{background:#fff3de;color:#8a6330}.op-tag.resolved,.op-tag.closed,.op-tag.collected,.op-tag.sent{background:#e5f0eb;color:#2d635b}.op-tag.failed,.op-tag.revoked{color:#ab3d34;background:#fbe9e5}.op-warning{display:block;color:#ab3d34}.op-notice{border:1px solid #e7e3d8;background:#f3f0e8;padding:16px 20px;border-radius:8px;margin:16px 0;font-size:13px}.op-hero{background:linear-gradient(90deg,rgba(19,46,60,.94),rgba(19,46,60,.24)),url(assets/residence.webp) center/cover;color:white;padding:35px;border-radius:35px 8px 8px 8px;margin-bottom:25px}.op-hero p{font-size:11px;letter-spacing:2px;color:#e2d9c7}.op-hero h2{font-size:32px;line-height:1.4;max-width:480px}.op-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.op-metrics button{border:1px solid #e2e5df;border-radius:10px;background:white;color:#152f3b;padding:20px 12px;text-align:left;cursor:pointer;font:400 13px 'Noto Sans Thai',sans-serif}.op-metrics b{display:block;font:600 32px Manrope,sans-serif;color:#2d635b}.op-dialog{width:min(720px,94vw);max-height:92vh;padding:28px;border:0;border-radius:12px;color:#152f3b;font:400 15px/1.65 Manrope,'Noto Sans Thai',sans-serif}.op-dialog::backdrop{background:rgba(19,46,60,.65)}.op-dialog header{display:flex;justify-content:space-between;align-items:center}.op-dialog h2{font-size:22px}.op-dialog label,.op-content>label{display:flex;flex-direction:column;gap:7px;margin:14px 0;font-weight:500}.op-dialog input,.op-dialog select,.op-dialog textarea,.op-content select{font:400 16px Manrope,'Noto Sans Thai',sans-serif;border:1px solid #d9dfd8;border-radius:6px;padding:12px;background:#fff;color:#152f3b;width:100%}.op-dialog input:focus,.op-dialog select:focus,.op-dialog textarea:focus{outline:2px solid #2d635b;outline-offset:2px}.op-dialog textarea{min-height:100px;resize:vertical}.op-dialog .op-check{display:flex;flex-direction:row;align-items:center;font-weight:400}.op-check input{width:20px;height:20px}.op-dialog fieldset{border:1px solid #e2e5df;border-radius:8px;margin:15px 0}.op-history{margin-top:20px;border-left:2px solid #d9dfd8;padding-left:18px}.op-history small{display:block;font-size:12px;color:#62717a}.op-error{color:#a4312c;background:#fff0e9;padding:12px;border-radius:6px}.op-error:empty{display:none}.op-floating{position:sticky;top:0;z-index:5}.op-photo{max-width:100%;display:block;margin:20px auto}.op-code{font:600 28px Manrope,sans-serif;letter-spacing:2px}.operations.kiosk .op-row{min-height:130px}.operations.kiosk .op-button{min-height:64px;font-size:20px}.operations.kiosk .op-row h3{font-size:24px}@media(max-width:700px){.op-header{padding:14px;align-items:flex-start}.op-header>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end}.op-header .op-button{font-size:11px;padding:7px;margin:2px;min-height:36px}.op-brand{font-size:24px}.op-content{padding:18px 16px 60px}.op-heading h1{font-size:24px}.op-row{align-items:flex-start;flex-direction:column}.op-row>div:last-child{max-width:100%;justify-content:flex-start}.op-metrics{grid-template-columns:repeat(3,1fr)}.op-card{padding:16px}.op-hero{padding:26px}.op-hero h2{font-size:26px}.op-dialog{padding:20px}.op-notice{padding:14px}.op-nav{padding:8px 12px}.op-nav button{padding:10px}.op-status{padding:10px 14px}.op-header .op-brand small{letter-spacing:1px;font-size:8px}}
/* One shared application shell, no Operations entry screen. */
body:has(.operations){margin:0;overflow:hidden;background:#faf9f5}body:has(.operations)>#app,body:has(.operations)>.nav{display:none!important}.operations{position:fixed;inset:0;z-index:20;overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:248px minmax(0,1fr);background:#faf9f5;color:#152f3b;font-size:15px}.op-sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#132e3c;color:#faf9f5;padding:30px 18px 18px;display:flex;flex-direction:column;z-index:4}.op-sidebar .op-brand{background:none;border:0;color:#faf9f5;text-align:left;padding:0 12px;cursor:pointer;font-family:Manrope,'Noto Sans Thai',sans-serif}.op-project{padding:16px 12px;font-size:12px;color:#c5d0cf;border-bottom:1px solid #ffffff20;overflow-wrap:anywhere}.op-sidebar nav{overflow:auto;flex:1;scrollbar-width:thin}.op-sidebar nav button,.op-menu-grid button{display:flex;align-items:center;gap:13px;width:100%;min-height:46px;text-align:left;padding:10px 13px;border:0;border-radius:7px;background:none;color:#cbd6d8;font:500 14px 'Noto Sans Thai',sans-serif;cursor:pointer;margin:3px 0}.op-sidebar nav button>span{width:23px;text-align:center;font:500 20px Manrope,sans-serif;color:#a8c7bd}.op-sidebar nav button.active{background:#2d635b;color:#fff}.op-sidebar nav button:hover{background:#ffffff15}.op-account{padding:14px 10px 0;border-top:1px solid #ffffff20;font-size:13px}.op-account b,.op-account small{display:block}.op-account small{color:#c5d0cf;margin:3px 0 10px}.op-account .op-button{background:transparent;color:#e8eee8;border-color:#ffffff40;padding:6px 12px;min-height:36px;margin:0}.op-body{grid-column:2;min-width:0}.op-header{position:sticky;top:0;background:rgba(250,249,245,.98);color:#152f3b;backdrop-filter:blur(10px);border-bottom:1px solid #e2e5df;padding:13px 32px;gap:20px}.op-header>b{white-space:nowrap;font-size:14px}.op-header form{display:flex;align-items:center;max-width:440px;flex:1;background:white;border:1px solid #dbe1da;border-radius:8px;overflow:hidden}.op-header input{min-width:0;width:100%;border:0;background:transparent;padding:11px 13px;color:#152f3b;font:400 14px 'Noto Sans Thai',sans-serif}.op-header form .op-button{border:0;background:transparent;padding:7px 10px;margin:0}.op-header>div{display:flex;align-items:center}.op-header>div .op-button:first-child{background:#2d635b;color:#fff;border-color:#2d635b}.op-content{max-width:1440px;padding:28px 32px 70px;margin:auto;min-width:0}.op-heading{margin-bottom:20px}.op-heading h1{font-size:29px;margin:3px 0 0;outline:none}.op-eyebrow{letter-spacing:1.3px;font-size:10px}.op-date{font-size:12px;color:#62717a}.op-status{padding:9px 32px;font-size:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.op-status .op-button{padding:4px 10px;min-height:32px;font-size:12px}.op-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:30px;padding:30px 34px;border-radius:18px 6px 6px 6px;min-height:220px;background:linear-gradient(95deg,rgba(19,46,60,.98),rgba(19,46,60,.64)),url(assets/residence.webp) center/cover}.op-hero h2{font-size:29px;line-height:1.5;margin:12px 0}.op-hero p:last-child{letter-spacing:0;font-size:12px;line-height:1.7}.op-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:360px}.op-quick .op-button{margin:0;border:1px solid #ffffff45;color:#faf9f5;background:#ffffff12;white-space:normal}.op-quick .op-button:first-child{background:#faf9f5;color:#132e3c}.op-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.op-section-heading h2,.op-dash-section>h2{font-size:18px;margin:0}.op-section-heading>span{color:#62717a;font-size:12px}.op-dash-section{margin:26px 0}.op-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.op-summary-card{min-width:0;background:#fff;border:1px solid #e2e5df;border-radius:10px;padding:18px;text-align:left;cursor:pointer;color:#152f3b;font:400 13px 'Noto Sans Thai',sans-serif;transition:box-shadow .15s,transform .15s}.op-summary-card:hover{box-shadow:0 5px 18px #132e3c12;transform:translateY(-2px);border-color:#2d635b}.op-summary-card.urgent{border-top:3px solid #ad6751}.op-summary-card strong{display:block;font:600 34px Manrope,sans-serif;color:#2d635b;margin:10px 0}.op-summary-card.urgent strong{color:#99513f}.op-summary-card small{display:flex;justify-content:space-between;font-size:11px;color:#62717a}.op-health{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.op-health>div{background:#eef2ec;border:1px solid #dfe5da;border-radius:10px;padding:20px}.op-health p{font-size:13px;color:#62717a}.op-filters{display:flex;align-items:end;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid #e2e5df;border-radius:9px;padding:12px 16px}.op-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;min-width:210px}.op-filters select{font:400 14px 'Noto Sans Thai',sans-serif;padding:9px;border:1px solid #dbe1da;border-radius:6px;background:#fff;color:#152f3b;max-width:100%}.op-filters p{font-size:13px;margin:8px 0}.op-search-result{width:100%;display:flex;justify-content:space-between;padding:18px;background:white;border:0;border-bottom:1px solid #e2e5df;text-align:left;font:400 15px 'Noto Sans Thai',sans-serif;color:#152f3b;cursor:pointer}.op-card{border-radius:10px;box-shadow:none}.op-card p{overflow-wrap:anywhere}.op-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(700px,70vw);max-width:none;height:100dvh;max-height:100dvh;border-radius:0;box-shadow:-8px 0 40px #132e3c25;padding:28px;overflow-y:auto}.op-dialog::backdrop{background:rgba(19,46,60,.28)}.op-dialog header{position:sticky;top:-28px;z-index:2;background:#faf9f5;padding:10px 0;border-bottom:1px solid #e2e5df}.op-dialog h2{font-size:21px}.op-quick-menu{display:grid;gap:10px;margin-top:24px}.op-quick-menu .op-button{text-align:left;padding:18px}.op-guard [data-op=claim]{min-height:58px;font-size:18px;background:#2d635b;color:#fff;border-color:#2d635b;font-weight:600}.op-device-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.op-device-grid>div{background:#f5f6f1;padding:18px;border:1px solid #e2e5df;border-radius:8px}.op-device-grid small{display:block;color:#62717a;margin-top:6px}.op-bottom{display:none}.op-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.op-button:focus-visible,.op-sidebar button:focus-visible,.op-summary-card:focus-visible,.op-bottom button:focus-visible{outline:3px solid #a88d61;outline-offset:3px}.op-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.op-menu-grid button{background:white;color:#152f3b;border:1px solid #e2e5df;padding:16px}.operations.kiosk .op-sidebar{width:248px}.operations.kiosk .op-button{font-size:16px;min-height:48px}
@media(min-width:1500px){.op-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.operations{grid-template-columns:218px minmax(0,1fr)}.op-sidebar{width:218px}.op-header{padding:12px 20px}.op-content{padding:24px 22px 70px}.op-hero{padding:25px;align-items:flex-start;flex-direction:column;gap:10px}.op-quick{max-width:none;display:flex;flex-wrap:wrap}.op-header>b{display:none}.op-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.op-status{padding:9px 22px}}
@media(max-width:800px){.operations{display:block;padding-bottom:74px}.op-sidebar{display:none}.op-header{padding:10px 14px;gap:8px;flex-wrap:wrap}.op-header form{max-width:none;order:2;flex-basis:100%}.op-header>b{display:block;font-size:14px;flex:1}.op-header>div .op-button{min-height:40px;font-size:12px;padding:8px 11px;margin:0 0 0 6px}.op-header input{font-size:16px}.op-content{padding:20px 16px 40px}.op-heading{align-items:flex-start}.op-heading h1{font-size:25px}.op-date{max-width:100px;text-align:right;font-size:11px}.op-status{padding:8px 16px;font-size:11px}.op-hero{padding:24px;min-height:0;margin-bottom:24px}.op-hero h2{font-size:26px}.op-quick{gap:7px}.op-quick .op-button{font-size:12px;padding:9px 12px}.op-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.op-summary-card{padding:15px 13px;font-size:12px;min-height:142px}.op-summary-card strong{font-size:31px}.op-summary-card small{font-size:10px}.op-section-heading{align-items:start;flex-direction:column;gap:3px}.op-section-heading h2,.op-dash-section>h2{font-size:17px}.op-section-heading>span{font-size:11px}.op-health{grid-template-columns:1fr}.op-bottom{position:fixed;bottom:0;inset-inline:0;display:flex;justify-content:space-around;gap:2px;z-index:8;background:#faf9f5;border-top:1px solid #dbe1da;padding:6px 4px calc(7px + env(safe-area-inset-bottom))}.op-bottom button{background:none;border:0;color:#62717a;min-height:52px;flex:1;max-width:130px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font:500 10px 'Noto Sans Thai',sans-serif;padding:3px;border-radius:6px;cursor:pointer}.op-bottom button span{font:500 21px Manrope,sans-serif;margin-bottom:2px}.op-bottom button.active{color:#2d635b;background:#eaf0e9}.op-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding:20px}.op-dialog header{top:-20px}.op-row{flex-direction:column;align-items:flex-start}.op-row>div:last-child{max-width:100%;justify-content:flex-start}.op-card{padding:16px}.op-filters{padding:12px;gap:8px}.op-filters label{min-width:0;width:100%}.op-filters select{font-size:16px;width:100%}.op-device-grid{grid-template-columns:1fr 1fr}.op-menu-grid{gap:8px}.op-menu-grid button{font-size:13px;min-height:66px;margin:0}.op-dialog .op-button{min-height:46px}.op-heading .op-eyebrow{letter-spacing:.4px}}
@media(prefers-reduced-motion:reduce){.op-summary-card{transition:none}.op-summary-card:hover{transform:none}}
