@charset "UTF-8";
.bulk-options{display:flex;flex-direction:column;gap:10px;margin:22px 0;font-size:12px;color:var(--muted)}.bulk-options label,.bulk-all{display:flex;align-items:center;gap:9px;cursor:pointer}.bulk-options input,.bulk-all input,.bulk-job input{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--brand);flex-shrink:0}.bulk-all{font-size:12px}.bulk-list{max-height:310px;overflow:auto;border:1px solid var(--line);border-radius:8px}.bulk-job{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border-bottom:1px solid var(--line);cursor:pointer;font-size:12px;line-height:1.45}.bulk-job:last-child{border:0}.bulk-job>span{display:flex;flex-direction:column;gap:4px}.bulk-job strong{font-size:12px}.bulk-job strong .muted{font-weight:400}.bulk-job small{color:var(--amber)}.bulk-job:hover{background:#f4f9fc}.bulk-job input{margin-top:2px}
.svos-footer{display:flex;align-items:center;gap:10px;border-top:1px solid #d8e3ea;padding-top:16px;margin-top:28px;font-family:"Segoe UI",Arial,sans-serif;font-size:12px;line-height:1.45;text-align:left}.svos-footer>img{width:42px;height:42px;object-fit:contain;padding:3px;background:white;border-radius:8px;flex-shrink:0}.svos-footer-title{color:#123449;font-weight:850}.svos-edition{color:#b33b3b;font-weight:900}.svos-edition span{font-weight:500;color:#526779}.svos-signature{margin-top:4px;color:#526779;font-size:11px}.svos-footer.on-dark{border-color:#ffffff25}.on-dark .svos-footer-title{color:white}.on-dark .svos-edition{color:#ffb1b1}.on-dark .svos-edition span,.on-dark .svos-signature{color:#c7d8e5}.sidebar-foot .svos-footer{margin:0;padding-top:16px;align-items:flex-start;flex-wrap:wrap}.sidebar-foot .svos-signature{max-width:160px}.mobile-footer{display:none}.login-brand .svos-footer{display:flex;position:relative;z-index:1}.login-brand .svos-footer .svos-signature{font-size:12px}@media(max-width:720px){.mobile-footer{display:flex;margin-top:25px}.login-brand .svos-footer{display:flex;margin-top:24px;font-size:11px}.login-brand .svos-footer .svos-signature{font-size:10px}.login-brand .svos-footer>img{width:34px;height:34px}.login-brand .svos-footer-title,.login-brand .svos-edition{display:inline;margin-right:6px}}
:root{--ink:#172d41;--muted:#526779;--brand:#075b87;--navy:#123449;--line:#d8e3ea;--green:#18735c;--amber:#986300;--red:#b33b3b;--bg:#f1f5f8;--focus:#159b91;--radius:10px;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:var(--brand)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.15;letter-spacing:-.7px;font-weight:650}h2{font-size:19px;font-weight:650}h3{font-size:16px;font-weight:650}small,.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:1.8px;font-weight:700}.icon{width:20px;height:20px;display:inline-block;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 17px;border-radius:8px;border:1px solid var(--line);background:white;color:var(--ink);font-weight:600;text-decoration:none;white-space:normal;text-align:center}.btn.primary{background:var(--brand);border-color:var(--brand);color:white}.btn.quiet{background:transparent;border-color:transparent;color:var(--brand)}.btn.danger{color:var(--red);border-color:#e6caca}.btn.small{min-height:36px;padding:6px 12px}.btn:hover{filter:brightness(.97)}.btn.full{width:100%}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;background:transparent;border-radius:8px;color:var(--muted)}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:16px}.panel{border:1px solid var(--line);background:white;border-radius:var(--radius)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--line)}.panel-body{padding:24px}.tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;line-height:1.4;padding:4px 8px;border-radius:5px;background:#edf2f5;color:var(--muted);font-weight:600;white-space:nowrap}.tag.green{background:#e8f3ed;color:var(--green)}.tag.amber{background:#fff4de;color:var(--amber)}.tag.blue{background:#e9f3fa;color:var(--brand)}.tag.red{background:#faecec;color:var(--red)}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block}.dot.amber{background:#bd7e20}.label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #bacbd7;border-radius:8px;background:white;color:var(--ink);padding:11px 12px;min-height:44px}textarea{resize:vertical;min-height:94px}input::placeholder,textarea::placeholder{color:#7b8e9b}.field{margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .field{margin-bottom:0}.help{font-size:12px;color:var(--muted);margin-top:7px}.error{color:#9d2222;background:#fff1ef;border-left:3px solid var(--red);padding:10px 13px;margin:14px 0;border-radius:4px}.notice{font-size:13px;color:var(--muted);padding:14px 16px;background:#edf4f8;border:1px solid var(--line);border-radius:8px}.notice strong{color:var(--ink)}
.login{min-height:100dvh;display:grid;grid-template-columns:minmax(380px,.9fr) 1.1fr;background:white}.login-brand{display:flex;flex-direction:column;justify-content:space-between;padding:52px 60px;background:var(--navy);color:white;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;bottom:-130px;left:-20%;width:140%;height:270px;border:1px solid #ffffff20;border-radius:50%;transform:rotate(-16deg);pointer-events:none}.studio-mark{background:white;padding:12px 23px;border-radius:8px;display:inline-flex;width:198px;align-self:flex-start}.studio-mark img{width:100%;height:auto}.login-title{margin:70px 0 65px;max-width:430px}.login-title h1{font-size:48px;line-height:1.08;margin:18px 0 23px;letter-spacing:-1.8px}.login-title p{color:#c7d8e5;max-width:330px;font-size:17px}.login-brand footer{font-size:12px;color:#b1c8d7;position:relative;z-index:1}.login-side{display:flex;align-items:center;justify-content:center;padding:52px}.login-card{max-width:450px;width:100%}.property-mark{width:74px;height:74px;object-fit:contain;border-radius:9px}.login-card h2{font-size:29px;margin:16px 0 5px}.login-card .field{margin-top:30px}.login-card .role-hint{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.login-card .notice{margin-top:24px}.login-card .btn.full+.btn.full{margin-top:10px}.login-brand .brand-line{height:3px;background:linear-gradient(90deg,#159b91,#e23b45);width:70px;margin-bottom:22px}
.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;display:flex;flex-direction:column;padding:25px 18px 20px;background:var(--navy);color:white}.sidebar .studio-mark{width:164px;margin-left:14px;padding:8px 18px;border-radius:6px}.sidebar .product-label{margin:20px 14px 28px;color:#b3c9d9;font-size:11px;letter-spacing:1.5px;text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:6px}.nav a{display:flex;align-items:center;gap:12px;padding:13px 14px;color:#c6d7e2;text-decoration:none;border-radius:8px;font-weight:500}.nav a.active{background:#ffffff14;color:white;box-shadow:inset 3px 0 0 #36b4ad}.nav a:hover{background:#ffffff0d}.nav .count{margin-left:auto;font-size:11px;background:#ffffff1a;padding:2px 6px;border-radius:4px}.sidebar-foot{margin-top:auto;padding:24px 14px 0;font-size:12px;color:#a9c3d5}.sidebar-foot button{color:#d4e5ed;padding-left:0;margin-top:12px;justify-content:flex-start;font-weight:400}.workspace{grid-column:2;min-width:0}.topbar{height:83px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line);gap:16px}.topbar .property-mark{width:48px;height:48px;border-radius:6px}.property-title{font-size:15px;font-weight:650;line-height:1.4}.property-sub{font-size:12px;color:var(--muted)}.topbar .status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.topbar .user{font-size:13px;font-weight:600;border-left:1px solid var(--line);padding-left:18px}.avatar{display:grid;place-items:center;border-radius:50%;height:33px;width:33px;background:#eaf2f6;color:var(--brand);font-size:12px;font-weight:700}.main{max-width:1440px;margin:0 auto;padding:36px 38px 50px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:27px}.page-head .eyebrow{color:var(--brand);margin-bottom:8px}.page-head p{margin-top:9px;color:var(--muted);font-size:14px}.metrics{display:grid;grid-template-columns:1fr 1fr 1.35fr;margin-bottom:26px;border-top:3px solid var(--brand)}.metric{padding:24px 28px;position:relative}.metric+.metric:before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:1px;background:var(--line)}.metric .value{display:block;font-size:38px;font-weight:650;letter-spacing:-1.4px;line-height:1.25;margin:6px 0 7px}.metric .value span{font-size:21px}.metric .label{color:var(--muted);font-size:13px;margin:0}.metric .help{margin:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,1fr);gap:24px}.macro-row{display:grid;grid-template-columns:minmax(140px,1fr) 80px 155px 22px;align-items:center;gap:18px;width:100%;padding:19px 24px;text-align:left;background:white;color:var(--ink);border-bottom:1px solid var(--line)}.macro-row:last-child{border-bottom:0;border-radius:0 0 10px 10px}.macro-row:hover{background:#f6fafc}.macro-name{font-weight:600;font-size:14px}.macro-name .small{display:block;font-weight:400;color:var(--muted);margin-top:2px}.macro-progress .row{font-size:12px;gap:8px;justify-content:space-between;margin-bottom:6px}.track{height:5px;background:#e8eef2;border-radius:4px;overflow:hidden}.track span{display:block;height:100%;background:var(--brand);border-radius:4px}.macro-foot{padding:15px 24px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);background:#fafcfd;border-radius:0 0 10px 10px}.activity{padding:16px 0;border-bottom:1px solid var(--line)}.activity:last-child{border-bottom:0}.activity strong{font-size:13px}.activity p{font-size:12px;color:var(--muted);margin-top:3px}.empty{padding:32px 22px;text-align:center;color:var(--muted)}.empty .icon{width:30px;height:30px;margin-bottom:12px;color:#8aa3b4}.empty strong{display:block;color:var(--ink);font-size:15px;margin-bottom:7px}.empty p{font-size:13px;max-width:370px;margin:0 auto}.offline-card{padding:22px}.offline-card p{font-size:13px;color:var(--muted);margin:9px 0 18px}.offline-card .icon{color:var(--brand)}
.filterbar{display:grid;grid-template-columns:minmax(160px,1.7fr) 1fr 1fr;gap:12px;margin-bottom:20px}.search{position:relative}.search .icon{position:absolute;left:13px;top:12px;color:#73899a}.search input{padding-left:42px}.result-line{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;margin:16px 0}.room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.room-card{text-align:left;padding:20px;background:white;border:1px solid var(--line);border-radius:10px;transition:border-color .15s;color:var(--ink)}.room-card:hover{border-color:var(--brand)}.room-card .room-no{font-size:28px;font-weight:650;letter-spacing:-.5px;margin:2px 0 12px}.room-card .room-bottom{margin-top:16px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.room-card .room-bottom .icon{width:15px;height:15px}.room-card .tag{font-size:10px}.list{display:flex;flex-direction:column;gap:12px}.job{display:flex;align-items:center;gap:20px;padding:20px 22px;text-align:left;width:100%;color:var(--ink)}.job:hover{border-color:#99b6c9}.job .job-info{flex:1;min-width:0}.job .job-info h3{font-size:15px;font-weight:600;line-height:1.45;margin:7px 0}.job .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px}.job .room-label{font-size:13px;font-weight:650;white-space:nowrap;min-width:65px}.job .job-state{font-size:13px;min-width:110px;text-align:right}.job .thumb{width:65px;height:65px;object-fit:cover;border-radius:6px;flex-shrink:0}.job .job-state .help{margin-top:5px}.back{padding:0;margin-bottom:13px;min-height:30px}.pagination{text-align:center;margin-top:24px}.local-banner{display:flex;align-items:center;gap:10px;margin-top:26px;color:var(--muted);font-size:12px}.local-banner .icon{width:16px;height:16px}.pill-tabs{display:flex;gap:8px;margin-bottom:22px;overflow:auto}.pill-tabs button{border:1px solid var(--line);padding:8px 15px;min-height:40px;background:white;color:var(--muted);border-radius:7px;white-space:nowrap}.pill-tabs button.active{background:var(--navy);color:white;border-color:var(--navy)}.proposal{padding:22px;margin-bottom:13px}.proposal h3{margin:10px 0 7px}.proposal .actions{margin-top:18px}.report-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.summary-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:13px 0;font-size:14px}.summary-row:last-child{border:0}.report-item{padding:18px 0;border-bottom:1px solid var(--line)}.report-item:last-child{border:0}.report-item .row{margin-top:12px}.report-meta{font-size:12px;color:var(--muted);margin-top:5px}.progress-note{font-size:12px;color:var(--muted);padding:14px 0 0}.report-layout .field{margin-top:22px}.backup-box{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px}.backup-box p{font-size:12px;color:var(--muted);margin-top:3px}
.scrim{position:fixed;inset:0;background:#10263775;z-index:20;display:flex;justify-content:flex-end;backdrop-filter:blur(2px)}.drawer{width:600px;max-width:100%;height:100dvh;background:white;display:flex;flex-direction:column;box-shadow:-10px 0 40px #00000015}.drawer.wide{width:680px}.drawer-head{padding:20px 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.drawer-head .eyebrow{color:var(--brand);margin-bottom:3px}.drawer-body{overflow-y:auto;padding:26px;overscroll-behavior:contain;flex:1}.drawer-body h2{font-size:20px;line-height:1.45;margin:12px 0}.drawer-foot{padding:17px 26px max(17px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:white;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-shrink:0}.drawer-foot p{font-size:12px;color:var(--muted)}.section-rule{margin:25px 0 20px;border-top:1px solid var(--line);padding-top:20px}.section-rule h3{margin-bottom:18px}.original-note{padding:12px 14px;border-left:3px solid #becdd6;background:#f6f8fa;color:var(--muted);font-size:13px;margin:15px 0}.photo-strip{display:flex;gap:9px;overflow-x:auto;padding:12px 0 4px}.photo-button{position:relative;flex-shrink:0;padding:0;border-radius:7px;background:#eef2f5;width:135px;height:110px;border:1px solid var(--line);overflow:hidden}.photo-button img{height:100%;width:100%;object-fit:cover}.photo-button span{position:absolute;bottom:0;left:0;right:0;background:#123449ba;color:white;font-size:11px;padding:3px}.percent-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.percent-options button{min-height:44px;border:1px solid #bacbd7;background:white;color:var(--ink);border-radius:7px;font-size:14px;font-weight:600}.percent-options button.selected{background:var(--brand);color:white;border-color:var(--brand)}.upload{display:flex;align-items:center;justify-content:center;gap:10px;border:1px dashed #9fb7c7;border-radius:8px;padding:15px;color:var(--brand);font-size:13px;font-weight:600;cursor:pointer}.upload input{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}.draft-photos{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.draft-photo{position:relative}.draft-photo img{width:90px;height:75px;object-fit:cover;border-radius:6px}.draft-photo button{position:absolute;right:1px;top:1px;width:24px;height:24px;background:var(--navy);color:white;border-radius:50%}.photo-viewer{position:fixed;inset:0;background:#0c1b28f5;z-index:40;display:flex;flex-direction:column;color:white}.photo-viewer header{display:flex;align-items:center;justify-content:space-between;padding:16px 25px;gap:16px}.photo-viewer .icon-btn{color:white}.photo-viewer img{min-height:0;flex:1;width:100%;object-fit:contain;padding:0 24px 24px}.photo-viewer footer{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;font-size:13px;color:#c1d0dc}.photo-viewer .btn{background:transparent;color:white;border-color:#70828f}.dialog{margin:auto;background:white;padding:28px;max-width:500px;width:calc(100% - 32px);border-radius:12px}.dialog h2{margin-bottom:12px}.dialog .actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.boot{padding:80px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:8px;background:var(--navy);color:white;z-index:60;max-width:calc(100% - 32px);box-shadow:0 4px 25px #0002;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.mobile-nav{display:none}.install-hint{font-size:12px;color:var(--muted);margin-top:12px}.read-only{background:#f8fafb}.report-print{display:none}
@media(min-width:1600px){.main{padding-top:44px}.dashboard-grid{gap:28px}.room-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1100px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding-left:10px;padding-right:10px}.sidebar .studio-mark{width:150px;margin-left:10px}.main{padding:28px 24px 40px}.topbar{padding:0 24px}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-layout{grid-template-columns:1fr}.login-brand{padding:38px}.login-side{padding:38px}.login-title h1{font-size:40px}.topbar .user{display:none}}
@media(max-width:720px){body{font-size:14px}.login{display:block}.login-brand{padding:24px 26px 28px;min-height:0}.login-brand .studio-mark{width:142px;padding:6px 13px}.login-title{margin:24px 0 0;max-width:none}.login-title h1{font-size:31px;margin:10px 0 12px;letter-spacing:-.8px}.login-title p{font-size:14px;max-width:none}.login-title .eyebrow,.login-brand footer,.brand-line{display:none}.login-side{padding:28px 26px}.login-card{max-width:480px}.login-card .property-mark{height:52px;width:52px}.login-card h2{font-size:25px;margin:10px 0 3px}.login-card .field{margin-top:22px}.login-card .notice{margin-top:20px;font-size:12px}.shell{display:block}.sidebar{display:none}.topbar{height:73px;padding:0 18px;border-top:3px solid var(--brand)}.topbar .property-mark{width:42px;height:42px}.topbar .status{font-size:11px;max-width:118px;line-height:1.3}.topbar .avatar{display:none}.main{padding:24px 16px 100px}.page-head{gap:12px;margin-bottom:21px;flex-wrap:wrap}.page-head h1{font-size:26px}.page-head .eyebrow{font-size:10px}.page-head p{font-size:13px;margin-top:7px}.page-head>.btn{font-size:12px;min-height:40px;padding:8px 12px}.metrics{grid-template-columns:1fr 1fr;margin-bottom:20px}.metric{padding:17px 19px}.metric .value{font-size:32px}.metric:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:center}.metric:nth-child(3):before{display:none}.metric:nth-child(3) .value{text-align:right;grid-row:1/3;grid-column:2}.metric .label{font-size:12px}.metric .help{font-size:11px}.dashboard-grid{gap:20px}.dashboard-side{display:flex;flex-direction:column;gap:18px}.panel-head{padding:17px 18px}.panel-head h2{font-size:17px}.panel-body{padding:18px}.macro-row{padding:17px 18px;grid-template-columns:minmax(100px,1fr) 45px 90px 12px;gap:10px}.macro-name{font-size:13px}.macro-name .small{font-size:10px}.macro-progress .row{font-size:11px}.macro-foot{padding:14px 18px;font-size:11px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;justify-content:space-around;background:white;border-top:1px solid var(--line);padding:7px 6px max(7px,env(safe-area-inset-bottom))}.mobile-nav a{color:var(--muted);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;min-height:48px;flex:1;border-radius:7px}.mobile-nav a.active{color:var(--brand);background:#edf5f9}.mobile-nav .icon{width:21px;height:21px}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room-card{padding:16px}.room-card .room-no{font-size:25px;margin-bottom:10px}.room-card .room-bottom{font-size:11px}.filterbar{grid-template-columns:1fr 1fr;gap:10px}.filterbar .search{grid-column:1/-1}.filterbar select{font-size:12px;padding:10px 8px}.job{padding:16px;gap:12px;flex-wrap:wrap;position:relative}.job .room-label{font-size:12px;min-width:56px}.job .job-info{flex-basis:calc(100% - 70px)}.job .thumb{width:52px;height:52px}.job .job-info h3{font-size:14px}.job .job-state{min-width:0;display:flex;align-items:center;justify-content:space-between;text-align:left;flex:1;padding-top:10px;border-top:1px solid var(--line);width:100%;flex-basis:100%}.job .job-state .help{margin:0}.job>.icon{display:none}.drawer-head{padding:16px 18px}.drawer-body{padding:20px 18px}.drawer-foot{padding:13px 18px max(13px,env(safe-area-inset-bottom))}.drawer-foot p{max-width:115px;font-size:11px}.drawer-foot .btn{flex:1}.form-grid{gap:12px}.drawer-body h2{font-size:18px}.drawer{width:100%}.photo-button{width:115px;height:95px}.backup-box{flex-direction:column;align-items:flex-start;padding:18px}.backup-box>.row{width:100%;flex-wrap:wrap}.backup-box .btn{font-size:12px}.report-layout{gap:18px}.page-head .row{flex-wrap:wrap}.local-banner{margin-top:18px;align-items:flex-start}.offline-card{padding:18px}.drawer-body .percent-options{gap:6px}.percent-options button{font-size:13px;padding:0}.proposal{padding:18px}.proposal .actions{flex-wrap:wrap}.proposal .actions .btn{font-size:12px}#toast{bottom:88px;width:max-content}.photo-viewer header{padding:13px 16px}.photo-viewer img{padding:0 12px 12px}.photo-viewer footer{padding:12px 16px}.topbar .property-sub{font-size:11px}.topbar .property-title{font-size:14px}}
@media print{body{background:white}.shell,.login,#overlay,#toast{display:none!important}.report-print{display:block;padding:15mm;color:#172d41;font-size:10pt}.report-print h1{font-size:22pt}.report-print header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.report-print img{max-width:140px;max-height:65px}.report-print table{width:100%;border-collapse:collapse;margin:20px 0}.report-print th,.report-print td{padding:9px;border-bottom:1px solid #d8e3ea;text-align:left}.report-print th{background:#edf3f7}.report-print .print-note{font-size:9pt;margin-top:20px}.report-print tr{break-inside:avoid}.report-print .break{break-before:page}}

/* Integrated property plan */
.scope-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.scope-comparison{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 22px;padding:20px 24px;gap:24px}.scope-stat{display:grid;grid-template-columns:1fr auto;gap:6px 18px}.scope-stat strong{font-size:14px}.scope-stat span,.scope-stat small{font-size:12px;color:var(--muted)}.scope-stat b{font-size:23px;grid-column:2;grid-row:1/3}.scope-stat small{grid-column:1/-1}.area-name{font-size:20px;font-weight:650;line-height:1.3;margin:10px 0}.general-jobs{width:100%;padding:20px;margin-bottom:18px;display:flex;gap:20px;align-items:center;text-align:left;color:var(--ink)}.general-jobs span{flex:1;font-size:13px;color:var(--muted)}.location-label{font-size:13px!important;line-height:1.5;max-width:130px}.source-details{margin-top:24px;border:1px solid var(--line);border-radius:8px;background:#f7f9fb}.source-details summary{cursor:pointer;padding:16px;font-weight:600;color:var(--brand)}.source-details>div{padding:0 16px 18px}.source-details dl{font-size:13px;margin:18px 0}.source-details dt{font-weight:600;margin-top:14px}.source-details dd{margin:4px 0;color:var(--muted);white-space:pre-line}.source-details h4{margin-top:18px}@media(max-width:700px){.scope-comparison{grid-template-columns:1fr;padding:18px;gap:18px}.scope-stat+.scope-stat{border-top:1px solid var(--line);padding-top:14px}.general-jobs{flex-wrap:wrap;gap:10px}.general-jobs span{flex-basis:80%}.scope-tabs .btn{flex:1;padding:10px 12px;font-size:12px}.location-label{max-width:none!important}.area-name{font-size:18px}}

/* Operational manual */
.guide-standalone{max-width:1250px;margin:auto;padding:28px}.guide-standalone>.btn{margin-bottom:24px}.guide-search{margin:24px 0;max-width:650px}.guide-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px}.guide-index{display:flex;flex-direction:column;align-self:start;position:sticky;top:20px;gap:4px}.guide-index button{text-align:left;padding:9px 12px;color:var(--brand);font-size:13px;background:transparent;border-left:2px solid var(--line);line-height:1.4}.guide-index button:hover{background:#edf4f8;border-color:var(--brand)}.guide-chapter{margin-bottom:12px;scroll-margin-top:20px}.guide-chapter summary{padding:20px 22px;font-weight:650;font-size:16px;cursor:pointer;color:var(--ink);line-height:1.4}.guide-content{padding:0 22px 22px;font-size:14px;line-height:1.75}.guide-content p+p,.guide-content p+ol,.guide-content p+ul,.guide-content ol+p,.guide-content ul+p{margin-top:15px}.guide-content ol,.guide-content ul{padding-left:24px}.guide-content li+li{margin-top:10px}.guide-content table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13px}.guide-content th,.guide-content td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.guide-content th{background:#edf4f8}.guide-chapter[hidden],.guide-empty[hidden]{display:none}.guide-standalone>.svos-footer{margin-top:30px}@media(max-width:900px){.guide-layout{grid-template-columns:1fr}.guide-index{position:static;display:grid;grid-template-columns:1fr 1fr;gap:6px}.guide-index button{font-size:12px}.guide-chapter summary{font-size:15px;padding:18px}.guide-content{padding:0 18px 18px;font-size:13px}.guide-standalone{padding:20px 16px}.guide .page-head h1{font-size:27px}}@media print{.guide-standalone{display:none!important}.report-print details{display:block;break-inside:auto}.report-print summary{font-size:15pt;font-weight:bold;margin:18px 0 10px}.report-print .guide-content{padding:0;font-size:10pt}.report-print .guide-layout{display:block}.report-print .notice{margin:15px 0}.report-print details>summary{list-style:none}}

.coverage-note{margin-bottom:22px}.property-picker{margin-top:22px}.property-picker select{width:100%}

@media print{.report-print summary{break-after:avoid}.report-print p,.report-print li{orphans:3;widows:3}.report-print .svos-footer{break-inside:avoid;margin-top:24px}.report-print .svos-footer img{width:50px;height:65px;object-fit:contain}}

@media print{html,body{background:#fff!important}.report-print .guide-chapter{border:0;border-radius:0;box-shadow:none;break-inside:avoid;margin:0 0 20pt}.report-print .guide-chapter summary{padding:0;margin:0 0 10pt}.report-print .guide-content table{break-inside:avoid}.report-print .guide-content{padding:0}.report-print .svos-footer{background:white}}

/* Profiles, cross-property work and distinct technical reviews. */
.global-tools{justify-content:flex-end;margin-bottom:18px}.technical-details{margin-top:26px;padding:20px;border:1px solid var(--line);border-radius:8px;background:#f7f9fb}.technical-details h3{margin:0}.technical-values{display:grid;grid-template-columns:minmax(90px,150px) minmax(0,1fr);gap:8px 16px;margin:18px 0;font-size:14px}.technical-values dt{font-weight:600}.technical-values dd{margin:0;overflow-wrap:anywhere}.technical-details>.help{margin-top:12px}.cp-controls,.cp-preview{margin:20px 0}.cp-controls .field{margin-bottom:16px}.cp-preview>p,.cp-preview>details,.cp-preview>.row{margin-top:14px}.cp-overview .room-card{min-width:0}.cp-overview .room-card strong{overflow-wrap:anywhere}.cp-root .bulk-job{overflow-wrap:anywhere}.cp-root .bulk-job>span{min-width:0}.cp-root input[type=checkbox]{accent-color:var(--brand)}.cp-preview summary{font-weight:600;cursor:pointer;margin-bottom:14px}.cp-root .notice{margin:16px 0}.cp-root .page-head{margin-top:20px}.readonly-notice{margin-bottom:22px}.readonly-notice p{margin:10px 0}.sidebar .nav{overflow-y:auto;min-height:0}.sidebar-foot{flex-shrink:0}.cp-root .bulk-options{flex-wrap:wrap}
@media(max-width:900px){.mobile-nav{grid-template-columns:repeat(var(--nav-count,5),minmax(0,1fr))}.mobile-nav a{min-width:0;font-size:10px;padding-left:2px;padding-right:2px}.global-tools{justify-content:flex-start}.technical-details{padding:16px}.technical-values{grid-template-columns:100px minmax(0,1fr)}.cp-root .page-head{align-items:flex-start}.cp-root .page-head h1{font-size:26px}.cp-root .bulk-options{display:grid;gap:12px}.cp-root .filterbar{grid-template-columns:1fr}.cp-root .room-card{width:100%}.cp-controls,.cp-preview{padding:18px}}

.sync-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.sync-notice p{margin:6px 0 0}.sync-notice .btn{flex-shrink:0}@media(max-width:600px){.sync-notice{align-items:stretch;flex-direction:column}}

.error:empty{display:none}
.conflict-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.conflict-item{border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-top:16px}.conflict-item h3{font-size:15px;line-height:1.4}.conflict-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.conflict-side{display:flex;flex-direction:column;gap:8px;border:1px solid #c9d7e0;border-radius:8px;padding:12px;cursor:pointer;background:white}.conflict-side:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 2px #075b8733;background:#f4f9fc}.conflict-side input{accent-color:var(--brand);width:18px;height:18px}.conflict-head{display:flex;flex-direction:column;gap:2px}.conflict-values{display:grid;gap:6px;font-size:13px}.conflict-values div{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:3px 6px;border-radius:5px}.conflict-values dt{color:var(--muted)}.conflict-values dd{margin:0;overflow-wrap:anywhere}.conflict-values .diff{background:#fff4dc}.conflict-values .diff dd{font-weight:600}
@media(max-width:720px){.conflict-compare{grid-template-columns:1fr}.conflict-values div{grid-template-columns:95px 1fr}}
