:root{--navy:#061a31;--navy2:#0c315a;--blue:#086fc7;--cyan:#1aa8c8;--gold:#d6a82d;--bg:#eaf1f7;--line:#cbd9e6;--text:#10243a;--muted:#667b91;--green:#0b9b67;--red:#d4364d;--amber:#c88700;--white:#fff;--shadow:0 14px 38px rgba(21,47,77,.12)}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:#086bc2;text-decoration:none}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:linear-gradient(180deg,var(--navy),#061424);color:#dce9f5;padding:24px 18px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;gap:12px;align-items:center;padding:0 4px 24px;border-bottom:1px solid rgba(255,255,255,.12)}.brand img{width:48px;height:38px;object-fit:contain;background:#fff;border-radius:7px}.brand strong,.brand span{display:block}.brand strong{font-size:17px;color:#fff}.brand span{font-size:11px;color:#91a9c0}.sidebar nav{display:grid;gap:7px;margin-top:22px}.sidebar nav a{color:#d8e7f4;padding:11px 12px;border-radius:8px}.sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-footer{margin-top:auto;padding:16px 10px 4px;border-top:1px solid rgba(255,255,255,.12)}.sidebar-footer span,.sidebar-footer small{display:block}.sidebar-footer small{color:#8fa6ba;margin:3px 0 8px}.link-button{border:0;background:none;color:#8dc8ff;padding:0;cursor:pointer}.badge,.notification-button b{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;background:#e02d48;color:#fff;border-radius:20px;font-size:11px}.main{margin-left:245px;min-height:100vh}.topbar{height:112px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:20px 34px;position:sticky;top:0;z-index:2}.topbar h1{margin:0;font-size:25px}.topbar p{margin:4px 0 0;color:var(--muted)}.notification-button{border:1px solid var(--line);padding:10px 14px;border-radius:10px;background:#f8fbfe;color:var(--text)}.content{padding:26px 32px 50px;max-width:1680px;margin:auto}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}.panel h2{margin:0 0 12px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.panel-head h2,.panel-head p{margin:0}.panel-head p{color:var(--muted);margin-top:3px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:13px;padding:18px;box-shadow:var(--shadow)}.stat span,.stat strong{display:block}.stat span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px;font-weight:700}.stat strong{font-size:29px;margin-top:6px;color:#153454}.form-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.form-cards a{border:1px solid var(--line);border-radius:12px;padding:16px;background:#f8fbff;color:var(--text)}.form-cards a:hover{border-color:#69aee9;transform:translateY(-1px)}.form-cards b,.form-cards span{display:block}.form-cards b{color:var(--blue);font-size:17px}.form-cards span{margin-top:5px}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#42566f}input,select,textarea{width:100%;border:1px solid #c8d6e4;border-radius:8px;padding:10px 11px;background:#fff;color:#122235}input:focus,select:focus,textarea:focus{outline:2px solid rgba(8,117,218,.16);border-color:var(--blue)}input[readonly]{background:#edf3f8;color:#607186}.primary,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bfd0e0;border-radius:8px;padding:10px 15px;background:#fff;color:#17344f;font-weight:700;cursor:pointer}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.wide{width:100%}.button.danger{background:#fff2f4;border-color:#f0b3bd;color:#b91f39}.button.warning{background:#fff8e5;border-color:#eed58f;color:#8b6200}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;margin-bottom:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{background:#eef4f9;color:#53677d;text-transform:uppercase;letter-spacing:.04em;font-size:10px;text-align:left;padding:11px;border-bottom:1px solid var(--line)}td{padding:12px 11px;border-bottom:1px solid #e5edf4;vertical-align:top}.empty{text-align:center;color:var(--muted);padding:30px}.status{display:inline-flex;padding:5px 8px;border-radius:20px;font-size:10px;font-weight:800;background:#e8eff5;color:#52677a}.status.approved,.status.live{background:#dff6eb;color:#08744d}.status.submitted,.status.pending_verification,.status.upcoming{background:#e1effd;color:#065caa}.status.rejected,.status.checked_out{background:#fde6e9;color:#b0233a}.status.correction_required,.status.checkout_scheduled{background:#fff1cf;color:#8a6100}.alert{padding:12px 14px;border-radius:9px;margin-bottom:15px;background:#e8f4ff;color:#125e9e}.alert.error{background:#fee8eb;color:#a61f36}.alert.success{background:#e1f7ec;color:#08764e}.resident-row{border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:12px;background:#fbfdff}.resident-row.hidden{display:none}.resident-row-head{display:flex;justify-content:space-between;margin-bottom:12px}.remove-row{border:0;background:none;color:var(--red);cursor:pointer}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;margin-top:18px}.check input{width:auto}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.detail-grid>div{background:#f6f9fc;border:1px solid var(--line);padding:12px;border-radius:9px}.detail-grid span,.detail-grid b{display:block}.detail-grid span{font-size:11px;color:var(--muted)}.document-list,.notification-list{display:grid;gap:9px}.document-list a,.notification-list a{display:flex;justify-content:space-between;gap:15px;padding:13px;border:1px solid var(--line);border-radius:9px;color:var(--text)}.document-list span,.notification-list p,.notification-list time{color:var(--muted);margin:2px 0}.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.room-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;box-shadow:var(--shadow)}.room-card>div:first-child{display:flex;justify-content:space-between}.room-card span{color:var(--muted);font-size:12px}.room-card strong{display:block;font-size:26px;margin:15px 0 6px}.meter{height:7px;background:#e8eff5;border-radius:9px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--blue))}.login-body{min-height:100vh;margin:0;display:flex;align-items:center;justify-content:flex-end;padding:clamp(24px,5vw,86px);background:linear-gradient(90deg,rgba(2,18,38,.05),rgba(2,18,38,.18)),url('../img/pioneer_lodge_background.jpg') center center/cover no-repeat fixed}.login-shell{width:min(440px,92vw);min-height:auto;display:block;background:transparent;border-radius:22px;overflow:visible;box-shadow:none}.login-card{padding:42px 38px;align-self:center;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.7);border-radius:22px;box-shadow:0 28px 70px rgba(0,20,45,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.login-card>img{width:105px;height:52px;object-fit:contain}.login-card h2{font-size:30px;margin:22px 0 4px}.login-card>p{color:var(--muted);margin-bottom:14px}.login-card form{display:grid;gap:16px;margin:22px 0 0}.password-row{display:grid;grid-template-columns:1fr auto}.password-row input{border-radius:8px 0 0 8px}.password-row button{border:1px solid #c8d6e4;background:#eef4f9;border-radius:0 8px 8px 0;padding:0 12px}.pwa-install-login{margin:5px 0 12px;width:100%;border:1px solid #b8d1e8;border-radius:8px;padding:10px 12px;background:#edf6ff;color:#075da8;font-weight:700;cursor:pointer}.review-panel{border-left:5px solid var(--amber)}
@media(max-width:900px){.login-body{justify-content:center;background-position:center}.sidebar{position:static;width:100%;height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar-footer{display:none}.main{margin:0}.topbar{position:static}.grid.three,.detail-grid{grid-template-columns:repeat(2,1fr)}.login-shell{width:min(440px,94vw)}.filters{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.content,.topbar{padding:18px}.sidebar nav{grid-template-columns:1fr 1fr}.grid.two,.grid.three,.detail-grid,.filters{grid-template-columns:1fr}.topbar{height:auto}.login-body{padding:18px;background-attachment:scroll}.login-card{padding:32px 24px}.actions{flex-direction:column}.actions>*{width:100%}}
.form-cards small{display:block;color:var(--muted);margin-top:8px}.template-links{margin-top:14px;color:var(--muted)}.template-links a{margin-left:10px;font-weight:700}
.nav-section{margin:14px 12px 2px;color:#6f8da8;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:800}.split{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.7fr);gap:20px}.muted{color:var(--muted)}.inline-form{display:flex;gap:8px;align-items:center}.inline-form input,.inline-form select{width:auto;min-width:120px}.pagination{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:15px}.summary-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.summary-strip span{background:#edf5fc;border:1px solid var(--line);border-radius:20px;padding:6px 10px;font-size:12px}.help-box{background:#f3f8fd;border:1px solid #cfe0ef;border-radius:10px;padding:13px;color:#3e5870;margin-bottom:15px}.compact td{padding:9px}.danger-zone{border-left:5px solid var(--red)}
@media(max-width:1050px){.split{grid-template-columns:1fr}}
.form-admin-card{margin-bottom:0}.form-template-box{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.form-template-box p{margin:3px 0}.template-upload{margin-top:10px}.template-upload input[type=file]{min-width:0;flex:1}
.portal-form-card{position:relative;overflow:hidden;min-height:150px;border-top:5px solid #0875da!important;box-shadow:0 9px 22px rgba(17,54,87,.1);transition:.18s ease}.portal-form-card:before{content:"";position:absolute;width:95px;height:95px;border-radius:50%;right:-36px;top:-40px;background:rgba(8,117,218,.09)}.portal-form-card:hover{transform:translateY(-4px)!important;box-shadow:0 15px 28px rgba(17,54,87,.16)}.portal-form-card span{font-weight:800;font-size:15px}.portal-form-card em{display:block;margin-top:14px;color:#3277ab;font-style:normal;font-size:11px;font-weight:800}.form-card-b{border-top-color:#0c7d70!important}.form-card-c{border-top-color:#6a55b5!important}.form-card-d{border-top-color:#b84c3a!important}.form-card-e{border-top-color:#297a55!important}

/* Official Excel-inspired digital forms */
.excel-web-form{--form-accent:#0b6db7;--form-deep:#073862;max-width:1500px;margin:0 auto}.form-theme-b{--form-accent:#0c7d70;--form-deep:#075149}.form-theme-c{--form-accent:#6a55b5;--form-deep:#3d2f79}.form-theme-d{--form-accent:#b84c3a;--form-deep:#763025}.form-theme-e{--form-accent:#297a55;--form-deep:#174d35}.excel-paper{background:linear-gradient(145deg,#fff,#f7fbff);border:1px solid #b8cadb;border-radius:18px;overflow:hidden;box-shadow:0 24px 55px rgba(9,39,68,.16),0 3px 0 #aec3d6;padding-bottom:24px}.excel-title-band{min-height:118px;display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:20px;padding:20px 28px;color:#fff;background:linear-gradient(135deg,var(--form-deep),var(--form-accent) 66%,#20a3bf);border-bottom:5px solid #d5aa32;box-shadow:inset 0 -1px rgba(255,255,255,.25)}.excel-title-band img{width:76px;height:60px;object-fit:contain;background:#fff;border-radius:10px;padding:6px;box-shadow:0 8px 18px rgba(0,0,0,.22)}.excel-title-band span{font-size:14px;font-weight:800;letter-spacing:.18em;color:#d9efff}.excel-title-band h2{margin:5px 0 0;font-size:25px;line-height:1.2;text-shadow:0 2px 2px rgba(0,0,0,.25)}.excel-title-band h2 small{font-size:.7em;font-weight:600}.form-code{border:1px solid rgba(255,255,255,.55);border-radius:9px;padding:11px 14px;background:rgba(255,255,255,.14);box-shadow:inset 0 1px rgba(255,255,255,.24);white-space:nowrap}.excel-section-title{display:flex;align-items:center;gap:10px;margin:22px 24px 12px;padding:10px 14px;background:linear-gradient(180deg,#e5f1fb,#cfe3f4);border:1px solid #b6cede;border-left:5px solid var(--form-accent);border-radius:8px;color:#123650;font-size:15px;font-weight:800;box-shadow:0 3px 7px rgba(34,73,109,.08)}.excel-section-title>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--form-accent);color:#fff;font-size:11px}.excel-section-title em{margin-left:auto;color:#3d607d;font-size:11px;font-style:normal;font-weight:700}.excel-company-grid,.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 24px;border:1px solid #abc0d3;background:#abc0d3;box-shadow:0 5px 13px rgba(25,56,85,.08)}.excel-company-grid label,.document-grid label{background:#fff;padding:10px}.excel-company-grid label:first-child{grid-column:span 2}.excel-web-form label{color:#294962}.excel-web-form input,.excel-web-form select,.excel-web-form textarea{border-color:#adc4d8;border-radius:5px;background:#fbfdff}.excel-web-form input:not([readonly]):focus,.excel-web-form select:focus,.excel-web-form textarea:focus{outline:3px solid color-mix(in srgb,var(--form-accent) 18%,transparent);border-color:var(--form-accent);background:#fff}.excel-notice-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin:16px 24px}.excel-notice-grid>div,.excel-form-note,.special-instructions{border:1px solid #d6c079;border-left:5px solid #d4a824;border-radius:8px;background:linear-gradient(180deg,#fffdf3,#fff8dd);padding:13px 16px;color:#54451f;box-shadow:0 4px 10px rgba(108,84,16,.08)}.excel-notice-grid ol{margin:7px 0 0;padding-left:20px}.hours-card{display:grid;gap:3px}.hours-card small{margin-top:5px}.excel-form-note{margin:16px 24px}.sheet-column-key{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);margin:0 24px;background:linear-gradient(180deg,var(--form-deep),#0a4e7e);color:#fff;border-radius:8px 8px 0 0;overflow:hidden;box-shadow:0 4px 10px rgba(7,38,65,.17)}.sheet-column-key span{padding:11px 13px;border-right:1px solid rgba(255,255,255,.25);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.sheet-column-key span:first-child{text-align:center}.excel-resident-rows{margin:0 24px;border:1px solid #a8bdcf;border-top:0}.resident-row.sheet-row{display:grid;grid-template-columns:48px 1fr;margin:0;padding:0;border:0;border-radius:0;background:#fff;border-bottom:1px solid #b9cbd9}.resident-row.sheet-row:nth-child(even){background:#f5f9fc}.resident-row.sheet-row.hidden{display:none}.sheet-row-number{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#24445f;background:#dceaf5;border-right:1px solid #a8bdcf;min-height:80px}.sheet-row-number b{font-size:16px}.sheet-row-number .remove-row{width:24px;height:24px;border-radius:50%;background:#fff1f2;color:#bd2940;font-size:18px;line-height:1}.sheet-row-fields{padding:10px}.excel-fields{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:9px}.transfer-fields{grid-template-columns:repeat(3,minmax(180px,1fr))}.checkout-fields{grid-template-columns:repeat(4,minmax(160px,1fr))}.sickbay-fields{grid-template-columns:repeat(4,minmax(170px,1fr))}.excel-fields label{font-size:10px}.excel-fields input,.excel-fields select,.excel-fields textarea{padding:8px 9px;font-size:12px}.span-2{grid-column:span 2}.add-sheet-row{margin:12px 24px 0;border:1px dashed var(--form-accent);border-radius:8px;padding:10px 15px;background:#eef8ff;color:var(--form-deep);font-weight:800;cursor:pointer}.add-sheet-row:hover{background:#dff1ff}.add-sheet-row:disabled{opacity:.5}.special-instructions{margin:18px 24px}.special-instructions p{margin:5px 0}.document-grid{grid-template-columns:1fr 1fr}.document-grid small{display:block;color:var(--muted);margin-top:5px}.certification{display:flex;align-items:flex-start;gap:10px;margin:16px 24px;padding:14px;border:1px solid #a9c7db;border-radius:8px;background:#edf7fd}.certification input{width:auto;margin-top:3px}.certification span,.certification b{display:block}.certification b{color:#123d5e;margin-bottom:2px}.excel-form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 24px 0;padding-top:17px;border-top:1px solid #c7d7e4;color:var(--muted)}.excel-form-footer .actions{margin:0}.excel-form-footer .primary{background:linear-gradient(180deg,#1788e5,#0763b4);border-color:#075ca6;box-shadow:0 4px 0 #054a85,0 9px 18px rgba(7,84,150,.2);transform:translateY(-2px)}.excel-form-footer .primary:active{box-shadow:0 1px 0 #054a85;transform:translateY(1px)}
@media(max-width:1180px){.excel-fields{grid-template-columns:repeat(3,minmax(150px,1fr))}.checkout-fields,.sickbay-fields{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:800px){.excel-title-band{grid-template-columns:64px 1fr;padding:17px}.excel-title-band img{width:58px;height:48px}.excel-title-band h2{font-size:18px}.form-code{grid-column:1/-1;justify-self:start}.excel-company-grid,.document-grid{grid-template-columns:1fr;margin-left:14px;margin-right:14px}.excel-company-grid label:first-child{grid-column:auto}.excel-section-title,.excel-notice-grid,.excel-form-note,.special-instructions,.sheet-column-key,.excel-resident-rows,.certification,.excel-form-footer{margin-left:14px;margin-right:14px}.excel-notice-grid{grid-template-columns:1fr}.sheet-column-key{grid-template-columns:40px 1fr}.sheet-column-key span:last-child{display:none}.resident-row.sheet-row{grid-template-columns:40px 1fr}.excel-fields,.transfer-fields,.checkout-fields,.sickbay-fields{grid-template-columns:1fr 1fr}.excel-form-footer{align-items:stretch;flex-direction:column}.excel-form-footer .actions{width:100%}.excel-form-footer .actions>*{flex:1}}
@media(max-width:520px){.excel-fields,.transfer-fields,.checkout-fields,.sickbay-fields{grid-template-columns:1fr}.span-2{grid-column:auto}.excel-section-title{align-items:flex-start;flex-wrap:wrap}.excel-section-title em{width:100%;margin-left:36px}.excel-title-band{grid-template-columns:1fr}.excel-title-band img{display:none}}

/* V2.3 full portal professional 3D classic finish */
body{background:radial-gradient(circle at 80% 0,#f8fbff 0,#eaf2f8 36%,#dfeaf3 100%)}.sidebar{background:linear-gradient(155deg,#0a294a 0,#06182c 58%,#030d18 100%);border-right:1px solid #214564;box-shadow:8px 0 24px rgba(4,22,39,.18)}.brand{background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.11);border-radius:12px;padding:12px;margin-bottom:8px;box-shadow:inset 0 1px rgba(255,255,255,.12),0 9px 18px rgba(0,0,0,.16)}.sidebar nav a{border:1px solid transparent;transition:.18s ease}.sidebar nav a:hover{background:linear-gradient(180deg,rgba(34,139,219,.25),rgba(13,72,121,.22));border-color:rgba(111,190,246,.24);box-shadow:inset 0 1px rgba(255,255,255,.12),0 5px 12px rgba(0,0,0,.14);transform:translateX(3px)}.topbar{background:linear-gradient(180deg,#fff,#f6fafe);box-shadow:0 7px 20px rgba(15,48,78,.08)}.topbar h1{color:#0b2d4e;text-shadow:0 1px #fff}.topbar-actions{display:flex;align-items:center;gap:10px}.back-button,.notification-button{border:1px solid #a9bfd2;border-radius:10px;padding:10px 15px;background:linear-gradient(180deg,#fff,#e8f0f7);color:#173e60;font-weight:800;cursor:pointer;box-shadow:0 3px 0 #a8bdce,0 7px 15px rgba(30,63,91,.12);transition:.15s ease}.back-button:hover,.notification-button:hover{transform:translateY(-1px);background:linear-gradient(180deg,#fff,#dcebf7)}.back-button:active,.notification-button:active{transform:translateY(2px);box-shadow:0 1px 0 #a8bdce}.panel,.stat,.room-card{background:linear-gradient(145deg,#fff,#f8fbfe);border-color:#c6d6e3;box-shadow:0 14px 30px rgba(16,49,79,.11),inset 0 1px #fff}.stat{border-left-width:5px}.button,.primary{box-shadow:0 3px 0 #aebfce,0 7px 13px rgba(25,55,82,.12);transition:.14s ease}.button:hover,.primary:hover{transform:translateY(-1px)}.button:active,.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #aebfce}th{background:linear-gradient(180deg,#edf5fb,#dce9f3);color:#244763}tr:hover td{background-color:#f4f9fd}.hidden{display:none!important}.excel-web-form input:not([type=email]):not([type=date]):not([type=time]):not([type=file]),.excel-web-form textarea,.excel-web-form select{text-transform:uppercase}.resident-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 24px 12px;padding:12px 14px;border:1px solid #b9cddd;border-radius:9px;background:linear-gradient(180deg,#f8fcff,#e6f1f8);box-shadow:0 4px 10px rgba(24,60,91,.08)}.resident-toolbar>div:first-child{display:grid}.resident-toolbar small{color:var(--muted)}.resident-toolbar>div:last-child{display:flex;gap:9px}.resident-toolbar .add-sheet-row{margin:0}.paste-panel{margin:0 24px 14px;padding:15px;border:1px solid #9ebcd3;border-left:5px solid var(--form-accent);border-radius:10px;background:linear-gradient(145deg,#fff,#edf7fd);box-shadow:0 8px 18px rgba(16,54,86,.11)}.paste-panel>div:first-child{display:grid;margin-bottom:9px}.paste-panel small{color:var(--muted)}.paste-panel textarea{font:12px/1.4 Consolas,monospace;min-height:115px;text-transform:none}.paste-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.paste-actions span{color:#08744d;font-weight:800}.resident-grid-wrap{overflow:auto;margin:0 24px;border:1px solid #9db5c8;border-radius:10px;box-shadow:0 10px 22px rgba(18,55,86,.13);background:#fff;scrollbar-color:var(--form-accent) #dce8f1}.resident-spreadsheet{width:max-content;min-width:2750px;border-collapse:separate;border-spacing:0;white-space:nowrap}.resident-spreadsheet th{position:sticky;top:0;z-index:3;padding:10px 8px;background:linear-gradient(180deg,var(--form-deep),#0a527f);color:#fff;border-right:1px solid rgba(255,255,255,.22);font-size:10px;text-align:center}.resident-spreadsheet td{padding:6px;border-right:1px solid #c3d2de;border-bottom:1px solid #c3d2de;background:#fff;vertical-align:top}.resident-spreadsheet tr:nth-child(even) td{background:#f6fafd}.resident-spreadsheet input,.resident-spreadsheet select{height:35px;min-width:145px;padding:7px 8px;font-size:11px;border-radius:4px}.resident-spreadsheet th:first-child,.resident-spreadsheet td:first-child{position:sticky;left:0;z-index:4;min-width:46px;width:46px}.resident-spreadsheet th:nth-child(2),.resident-spreadsheet td:nth-child(2){position:sticky;left:46px;z-index:4;min-width:205px}.resident-spreadsheet td:first-child{background:#dcebf6!important}.resident-spreadsheet td:nth-child(2){background:#f8fcff!important;box-shadow:5px 0 8px rgba(19,51,78,.08)}.resident-spreadsheet th:nth-child(2){box-shadow:5px 0 8px rgba(0,0,0,.14)}.resident-spreadsheet td:nth-child(2) input{min-width:190px}.resident-spreadsheet .row-index{text-align:center;vertical-align:middle}.resident-spreadsheet .remove-row{display:block;margin:4px auto 0;width:22px;height:22px;border:0;border-radius:50%;background:#ffe8eb;color:#b82039;font-weight:900;cursor:pointer}.resident-spreadsheet .other-value{margin-top:5px}.resident-spreadsheet .hidden-fields{display:none}.spreadsheet-resident-row.hidden{display:none}.resident-grid-wrap:after{content:"SCROLL RIGHT TO VIEW ALL COLUMNS →";position:sticky;left:10px;display:inline-block;padding:5px 9px;color:#4f6b82;font-size:10px;font-weight:800}.excel-company-grid input:not([type=email]),.excel-company-grid select{font-weight:700}.form-admin-card{border-top:4px solid #147ec4}.form-cards a{background:linear-gradient(145deg,#fff,#f1f7fc);box-shadow:0 8px 18px rgba(16,49,79,.09),inset 0 1px #fff}
@media(max-width:900px){.topbar-actions{align-self:flex-start}.resident-toolbar{align-items:flex-start;flex-direction:column}.resident-toolbar>div:last-child{width:100%;flex-wrap:wrap}.resident-toolbar button{flex:1}.resident-grid-wrap,.resident-toolbar,.paste-panel{margin-left:14px;margin-right:14px}.resident-spreadsheet{min-width:2700px}}
@media(max-width:620px){.topbar{align-items:flex-start;gap:14px;flex-direction:column}.topbar-actions{width:100%}.topbar-actions>*{flex:1;text-align:center}.paste-actions{align-items:stretch;flex-direction:column}.paste-actions button{width:100%}}
.credential-once{border:2px solid #1ba66f;background:linear-gradient(145deg,#f7fffb,#e8f8f0);box-shadow:0 12px 28px rgba(16,108,75,.17)}
.credential-grid{display:grid;grid-template-columns:1fr 1.3fr auto;gap:12px;align-items:end}
.password-field{display:flex;position:relative}.password-field input{padding-right:58px;width:100%}.password-toggle{position:absolute;right:5px;top:5px;bottom:5px;border:0;border-radius:7px;background:#e7f0f8;color:#063e68;font-weight:800;cursor:pointer}
.official-template-note{margin:14px 0 0;padding:10px 12px;border-left:4px solid #1678c8;background:#edf7ff;color:#31536b}
.submission-form-sheet{--form-accent:#0b6db7;border-top:5px solid var(--form-accent)}.submission-official-table{min-width:1100px}.submission-official-table th{white-space:nowrap;background:#dceef9;color:#083c65}.submission-official-table td{white-space:nowrap}.submission-official-table tbody tr:nth-child(even){background:#f5fbff}
.form-title-actions{display:grid;gap:8px}.form-original-download{padding:8px 10px;border:1px solid rgba(255,255,255,.58);border-radius:8px;background:#fff;color:#0a4d7f;font-size:11px;font-weight:900;text-align:center;box-shadow:0 4px 10px rgba(0,0,0,.16)}
@media(max-width:900px){.credential-grid{grid-template-columns:1fr}.credential-grid .primary{width:100%}}

/* V2.5: Form A/B full-width resident entry without desktop horizontal scrolling */
.excel-web-form{max-width:none;width:100%}
@media(min-width:1200px){
  .content:has(.excel-web-form){max-width:none;padding-left:18px;padding-right:18px}
  .resident-grid-wrap{overflow-x:hidden}
  .resident-spreadsheet{width:100%;min-width:0;table-layout:fixed;white-space:normal}
  .resident-spreadsheet th,.resident-spreadsheet td{padding:5px 3px;font-size:9px;position:static!important;min-width:0!important;width:auto!important}
  .resident-spreadsheet th:first-child,.resident-spreadsheet td:first-child{width:34px!important}
  .resident-spreadsheet th:nth-child(2),.resident-spreadsheet td:nth-child(2){width:11%!important;box-shadow:none}
  .resident-spreadsheet input,.resident-spreadsheet select,.resident-spreadsheet td:nth-child(2) input{min-width:0;width:100%;padding:6px 4px;font-size:9px}
  .resident-grid-wrap:after{display:none}
}
/* V2.6 official-form submission viewer */
.official-submission-head .actions{flex-wrap:wrap}.official-form-panel{padding:0;overflow:hidden}.official-form-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid #b9cfe0;background:linear-gradient(180deg,#fafdff,#eaf5fd)}.official-form-bar b,.official-form-bar span{display:block}.official-form-bar b{color:#0a3d66;font-size:16px}.official-form-bar span{color:#60788d;font-size:12px;margin-top:2px}.official-form-frame{display:block;width:100%;height:760px;border:0;background:#e9edf2}@media(max-width:900px){.official-form-frame{height:620px}.official-form-bar{align-items:flex-start;flex-direction:column}}

.submission-preview-actions{display:flex;justify-content:flex-end;margin:0 0 14px}
body:has(.submission-fullscreen) .sidebar{display:none}
body:has(.submission-fullscreen) .main{margin-left:0}
body:has(.submission-fullscreen) .content{max-width:none}
/* Resident list keeps its key columns within the viewport; full particulars open separately. */
.resident-list{max-width:100%;overflow:visible}.resident-compact{width:100%;table-layout:fixed}.resident-compact th,.resident-compact td{white-space:normal;overflow-wrap:anywhere;vertical-align:middle;padding:10px 8px}.resident-compact th:first-child{width:5%}.resident-compact td small{display:block;color:#64748b;margin-top:4px}.resident-compact th:last-child{width:8%}.resident-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:14px}.resident-actions small{color:#64748b}.resident-menu{position:relative}.resident-menu summary{cursor:pointer;list-style:none;font-size:22px;font-weight:bold;text-align:center}.resident-menu summary::-webkit-details-marker{display:none}.resident-menu>div{position:absolute;right:0;top:100%;z-index:20;min-width:165px;background:white;border:1px solid #cbd5e1;border-radius:9px;box-shadow:0 12px 28px #10233d24;padding:5px}.resident-menu a{display:block;padding:9px;color:#153457;text-decoration:none}.resident-menu a:hover{background:#e8f4ff}.room-label-form{display:flex;gap:5px;margin:12px 0}.room-label-form input{min-width:0;width:100%}@media(max-width:700px){.resident-compact th:nth-child(3),.resident-compact td:nth-child(3),.resident-compact th:nth-child(6),.resident-compact td:nth-child(6){display:none}.resident-compact th,.resident-compact td{font-size:11px}}

/* Full resident particulars: use the entire viewport and keep labels readable. */
.content:has(.resident-full){max-width:none;padding-left:14px;padding-right:14px}.resident-filters{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));align-items:center}.resident-filters input,.resident-filters select{min-width:0}.resident-list{padding:12px;overflow:visible}.resident-count{margin:2px 8px 12px;color:#48627a;font-weight:700}.resident-table-scroll{overflow-x:auto;overflow-y:visible}.resident-full{min-width:1490px;table-layout:fixed;border-collapse:collapse}.resident-full th,.resident-full td{padding:9px 5px;font-size:clamp(10px,.71vw,12px);line-height:1.25;overflow-wrap:break-word;vertical-align:middle}.resident-full th{white-space:normal}.resident-full th:first-child,.resident-full td:first-child{width:30px}.resident-full th:nth-child(2),.resident-full td:nth-child(2){width:135px}.resident-full td.resident-name{overflow-wrap:normal;word-break:normal}.resident-full .status{font-size:10px;padding:4px 5px}.resident-full th:last-child,.resident-full td:last-child{width:48px}.resident-full .resident-menu>div{right:0;z-index:50}.menu-remove{width:100%;border:0;background:#fff0f2;color:#9e2337;text-align:left;padding:9px;cursor:pointer}.menu-remove:hover{background:#fbdbe1}@media(min-width:1900px){.resident-full{min-width:0}.resident-full th,.resident-full td{font-size:12px}}
.notice-overlay{position:fixed;inset:0;background:#10233d99;z-index:100;display:grid;place-items:center;padding:20px}.notice-popup{width:min(680px,100%);max-height:85vh;overflow:auto;background:#fff;border-radius:16px;padding:25px;box-shadow:0 25px 70px #10233d55}.notice-priority{color:#b62432;font-weight:800;font-size:12px;letter-spacing:.05em}.notice-prose{font-size:16px;line-height:1.65;margin:20px 0;overflow-wrap:anywhere}.notice-highlight{background:#ffef79;color:#162338;padding:1px 3px}.notice-image{display:block;max-width:100%;max-height:450px;object-fit:contain}.notice-card .button{margin-left:12px}.editor-toolbar{display:flex;gap:8px;margin-bottom:10px}.editor-toolbar button{background:#eef6fc;border:1px solid #c1d5e6;border-radius:6px;padding:8px 12px;cursor:pointer}.notice-editor{border:1px solid #c8d6e4;min-height:190px;padding:15px;border-radius:8px;background:#fff}.notice-editor:focus{outline:2px solid #8cc3ef}
/* One resident per horizontal row. Colgroup controls space for long names. */
.content:has(.resident-full){max-width:none;padding-left:10px;padding-right:10px}
.resident-table-scroll{width:100%;overflow-x:visible}
.resident-full{display:table;table-layout:fixed;width:100%;min-width:0;border-collapse:collapse}
.resident-full thead{display:table-header-group}
.resident-full tbody{display:table-row-group}
.resident-full tr{display:table-row}
.resident-full th,.resident-full td,.resident-full th:first-child,.resident-full td:first-child,.resident-full th:nth-child(2),.resident-full td:nth-child(2),.resident-full th:last-child,.resident-full td:last-child{display:table-cell;width:auto;max-width:none;min-width:0;vertical-align:middle;padding:8px 4px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.resident-full th{font-size:10px;text-align:left}
.resident-full td{font-size:10px}
.resident-full td::before{content:none}
.resident-full td.resident-name,.resident-full td[data-label="Full Name of Worker"]{white-space:normal;font-size:11px;overflow-wrap:anywhere;word-break:normal}
.resident-full td.resident-name b{display:block;line-height:1.35}
.resident-full td:first-child input{width:15px;max-width:100%}
.resident-full th:last-child,.resident-full td:last-child{text-align:center}
.resident-full .status{font-size:9px;white-space:normal;overflow-wrap:anywhere}
.resident-full .resident-menu>div{top:auto;bottom:100%;right:0}
.resident-actions select{width:min(280px,100%)}
@media(max-width:1150px){.resident-table-scroll{overflow-x:auto}.resident-full{min-width:1150px}}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.settings-grid .panel{margin:0}.settings-grid label{margin:12px 0}.settings-details{display:grid;grid-template-columns:100px 1fr;gap:10px;margin:20px 0}.settings-details dt{color:#54718b}.settings-details dd{margin:0;font-weight:700;overflow-wrap:anywhere}.request-card{border-left:4px solid #1775b8}.request-card .grid{margin-top:14px}.credential-once{border:2px solid #cd9a2a;background:#fffaea}.credential-once p:first-of-type{font-size:18px;letter-spacing:.04em}
.setup-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;border-left:5px solid #0874ba}.setup-tools p{margin:4px 0;color:#506a82}.setup-tools a{white-space:nowrap}.setup-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.reset-panel{border:1px solid #e5aab2;background:#fff9f9}.reset-panel .button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:700px){.setup-tools{display:block}.setup-tools a{margin-top:10px}}

/* Pioneer Room Master visual parity - Client Admin only */
.room-page{width:100%;max-width:1600px;min-width:0;margin:0 auto}.room-page h2{margin:0 0 5px;font-size:18px}.room-kpis.pioneer{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:18px}.room-kpis.pioneer>div{background:linear-gradient(145deg,#fff,#f6f9fc);border:1px solid #dce6ef;border-left:5px solid #60758c;border-radius:15px;padding:15px 17px;box-shadow:0 7px 22px #15324d0b}.room-kpis.pioneer>div.good{border-left-color:#10a46d}.room-kpis.pioneer>div.blue{border-left-color:#1778dc}.room-kpis.pioneer>div.purple{border-left-color:#7457d9}.room-kpis.pioneer>div.danger{border-left-color:#d64b55}.room-kpis.pioneer span{display:block;color:#6b7a8c;font-size:12px;font-weight:700}.room-kpis.pioneer b{display:block;margin-top:6px;font-size:27px;color:#0d2842}.room-filters-pioneer{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-top:15px}.room-filters-pioneer label{display:grid;gap:6px;color:#5c6d7e;font-size:12px;font-weight:750}.room-filters-pioneer input,.room-filters-pioneer select{width:100%;min-width:0;padding:10px 11px;border:1px solid #cddae6;border-radius:9px;background:#fff;color:#15293e}.room-table-scroll-pioneer{width:100%;max-width:100%;overflow:auto;background:#fff;border:1px solid #dce5ee;border-radius:15px;box-shadow:0 8px 24px #18324b0b}.room-master-table-pioneer{border-collapse:separate;border-spacing:0;width:100%;min-width:1450px;font-size:12px}.room-master-table-pioneer th,.room-master-table-pioneer td{padding:11px 10px;border-bottom:1px solid #e7edf3;text-align:left;vertical-align:middle;white-space:nowrap}.room-master-table-pioneer th{position:sticky;top:0;z-index:2;background:#eef4f9;color:#17324c;font-size:11px;text-transform:uppercase;letter-spacing:.025em}.room-master-table-pioneer tbody tr:hover{background:#f8fbfe}.room-status-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#dcf7e9;color:#087047;font-size:10px;font-weight:900}.manage-btn-pioneer{display:inline-flex;padding:7px 10px;border:1px solid #b9d6f0;border-radius:8px;background:#edf7ff;color:#075d9d;font-weight:800;text-decoration:none}@media(max-width:1250px){.room-kpis.pioneer{grid-template-columns:repeat(3,1fr)}.room-filters-pioneer{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.room-kpis.pioneer{grid-template-columns:repeat(2,1fr)}.room-filters-pioneer{grid-template-columns:1fr}}

/* PWA install controls */
.pwa-install-button,.pwa-install-login{border:1px solid #b9d6f0;border-radius:9px;background:#edf7ff;color:#075d9d;font-weight:800;cursor:pointer;padding:10px 14px;box-shadow:0 4px 12px #10233d12}.pwa-install-button:hover,.pwa-install-login:hover{background:#dcefff}.pwa-install-login{width:100%;margin:0 0 14px;background:#082b4c;color:#fff;border-color:#082b4c}.pwa-install-login:hover{background:#0b3c68}
