/* Existing palette, Golos typography and layout are retained. Motion answers user actions. */
:root{--pv-motion-fast:140ms;--pv-motion-page:220ms;--pv-motion-enter:cubic-bezier(.16,1,.3,1)}
.pv-web-switch{margin:4px 0 8px}.pv-web-mobile-switch{display:none}
.panel,body:not([data-page=pro]) .dlg{box-shadow:0 14px 38px #15201a17}
.staff-role-info{display:block;color:var(--muted);margin-top:6px;font-size:12px}
.admin-tabs{max-width:100%;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain}
.admin-tabs button{position:relative;flex:0 0 auto}
.admin-tabs button.on:after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:currentColor;pointer-events:none}
.web-save-flash{outline:2px solid var(--brand);outline-offset:3px}
@media(prefers-reduced-motion:no-preference){
 .btn,.nav,.chip,.pv-unit,.pv-segments button,.admin-tabs button,.staff-rights-person{transition:background-color var(--pv-motion-fast) ease-out,color var(--pv-motion-fast) ease-out,box-shadow 180ms ease-out,transform 140ms ease-out,border-color 160ms ease-out}
 .btn:active:not(:disabled),.pv-segments button:active:not(:disabled),.admin-tabs button:active:not(:disabled){transform:translateY(1px) scale(.985)}
 .admin-tabs button.on:after{animation:pv-selection 200ms var(--pv-motion-enter)}
 .search,input,textarea,select{transition:border-color 140ms ease-out,box-shadow 180ms ease-out}
 input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px #1e7a3b13}
 @keyframes pv-selection{from{transform:scaleX(.3);opacity:.4}to{transform:scaleX(1);opacity:1}}
}
@media(hover:hover) and (pointer:fine){
 .btn:hover:not(:disabled),.staff-rights-person:hover:not(:disabled){box-shadow:0 3px 9px #15201a14;transform:translateY(-1px)}
 .nav:hover,.admin-tabs button:hover{box-shadow:inset 0 0 0 1px var(--line)}
 .pv-unit:hover{box-shadow:0 0 0 2px var(--brand),0 3px 8px #15201a20;position:relative;z-index:1}
}
@media(max-width:760px){
 .pv-web-mobile-switch{display:block;position:fixed;bottom:16px;right:16px;z-index:35;border:1px solid var(--line);background:var(--card);padding:10px 13px;border-radius:12px;box-shadow:0 5px 20px #15201a18;color:var(--ink);text-decoration:none;font:inherit}
 .dlg{max-width:calc(100vw - 24px)}input,textarea,select{font-size:16px}
 #staffRightsForm .form{grid-template-columns:minmax(0,1fr)}
 #staffRightsForm .form label{min-width:0}#staffRightsForm .form input,#staffRightsForm .form select{width:100%;min-width:0}
 .admin-tabs button{min-height:44px}.admin-tabs{width:100%}
}
@media(prefers-reduced-motion:reduce){
 .btn,.nav,.chip,.pv-unit,.pv-segments button,.admin-tabs button{transform:none!important}
 .btn,.nav,.chip,.pv-unit,.pv-segments button,.admin-tabs button,.panel,.dlg,.page,.toast,.loading-spin{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Phone-first navigation and cards, limited to touch-sized screens. */
.web-mobile-nav,.web-mobile-scrim{display:none}
@media(max-width:760px){
 .app{display:block;min-width:0;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .main{width:100%;min-width:0}.top{position:sticky;top:0;z-index:20;gap:8px;padding:10px 12px}
 .top .search{flex:1 1 150px;width:auto;min-width:0}.top .search input{min-width:0;font-size:16px}
 .top .back{min-width:42px;min-height:42px}.top .pv-theme{min-height:42px}
 .page,body[data-page=object] .page{padding:16px 12px}.page h1{font-size:24px}
 .side,body[data-page=object] .side{position:fixed;inset:0 auto 0 0;width:min(290px,82vw);height:100dvh;padding:20px 14px calc(80px + env(safe-area-inset-bottom));z-index:72;transform:translateX(-105%);transition:transform .22s ease;overflow-y:auto;box-shadow:var(--shadow-l)}
 .web-menu-open .side,body.web-menu-open[data-page=object] .side{transform:translateX(0)}
 .side .brand span,.side .nav span,.side .btn-upload span,.side .ver,.side .sync,.side #instBox,.side .sep{display:initial}
 .side .nav{justify-content:flex-start;padding:11px 9px}.side .brand b{font-size:28px}.side .btn-upload{width:auto;padding:10px}
 .web-mobile-nav{position:fixed;inset:auto 0 0;z-index:70;display:flex;align-items:stretch;justify-content:space-around;background:var(--card);border-top:1px solid var(--line);padding:5px 4px calc(5px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #10251912}
 .web-mobile-nav button{flex:1;min-width:0;min-height:52px;border:0;border-radius:10px;color:var(--muted);background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-family:inherit;font-size:11px;font-weight:600}
 .web-mobile-nav button[aria-current=true]{color:var(--brand);background:var(--soft)}.web-mobile-menu>span:first-child{font-size:20px;line-height:20px}
 .web-mobile-scrim{position:fixed;inset:0;z-index:71;border:0;background:#07130db3}.web-menu-open .web-mobile-scrim{display:block}
 #layer{position:relative;z-index:90}.pv-web-mobile-switch{display:none}.pv-room-cover{padding:0;z-index:80;align-items:stretch}
 .pv-room-cover .panel{width:100%;max-height:100dvh;height:100dvh;border-radius:0;padding:14px 14px calc(18px + env(safe-area-inset-bottom));gap:12px}
 .pv-room-tabs{top:-14px;display:flex;overflow-x:auto;flex-wrap:nowrap;gap:5px;flex:0 0 auto}.pv-room-tab{flex:0 0 auto}.pv-room-tabs button{flex:1 0 auto;min-height:44px;font-size:12px}
 .pv-room-tab .blk{padding:12px}.pv-room-tools .btn{min-height:44px}.tick{min-width:40px;min-height:40px}.vchk{min-height:40px}.pv-transfer{min-height:40px}
 .people-table{overflow:visible}.people-table .t{min-width:0}.people-table .t thead{display:none}.people-table .t,.people-table .t tbody{display:block;width:100%}
 .people-table .t tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px;border-bottom:1px solid var(--line)}
 .people-table .t td,.people-table .t td:first-child{display:block;padding:0;min-width:0}.people-table .t td:nth-child(2),.people-table .t td:last-child{grid-column:1/-1}
 .people-table .t td:nth-child(3){grid-column:1}.people-table .t td:nth-child(4){grid-column:2;grid-row:3}.people-owner{min-height:40px}.people-room{min-height:36px}.people-phone{font-size:14px}
 .room-scroll{height:min(52dvh,420px)}.room-tools>.search{min-width:0;flex-basis:100%}.room-row-open{min-width:0}.room-row-open .room-label{min-width:0}
 input,textarea,select{font-size:16px!important}
}
@media(prefers-reduced-motion:reduce){.side{transition:none!important}}

.contractor-row{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}.contractor-row>div{display:flex;gap:8px;flex-wrap:wrap}#journalOrg,#journalSearch{min-height:42px;max-width:100%}#journalSearch{font-size:16px}#commentText{width:100%;font-size:16px}

.cb-search,.cb-tools label{display:grid;gap:6px;color:var(--muted);font-size:13px}.cb-tools{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.cb-tools label:first-child{flex:2 1 240px}.cb-tools label{flex:1 1 150px}.cb-tools input,.cb-tools select,.cb-search input{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit}.cb-organizations{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:16px}.cb-organization,.cb-my-room{text-align:left;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:10px;font:inherit;cursor:pointer}.cb-organization>b{font-size:19px}.cb-organization>span,.cb-my-room>span,.cb-my-room>small{color:var(--muted);line-height:1.5}.cb-organization>div,.cb-my-room>div{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.cb-organization:hover,.cb-cell:hover,.cb-my-room:hover{border-color:var(--brand)}.cb-heading{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:12px}.cb-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:12px 0}.cb-section{margin:16px 0}.cb-floor{display:flex;gap:10px;align-items:center;margin:8px 0}.cb-floor>b{width:40px;flex:none;font-size:12px;color:var(--muted)}.cb-cells{display:flex;flex-wrap:wrap;gap:7px;flex:1}.cb-cell{width:108px;min-height:80px;display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-left-width:4px;border-radius:9px;background:var(--card);color:var(--ink);text-align:left;font:inherit;cursor:pointer}.cb-cell.open{border-left-color:var(--danger)}.cb-cell.awaiting{border-left-color:#c3931d;background:var(--warning-soft)}.cb-cell.verified{border-left-color:var(--brand);background:var(--soft)}.cb-cell.selected{outline:2px solid var(--brand)}.cb-cell small{font-size:11px}.cb-details{margin-top:20px}.cb-details blockquote{margin:0;padding:12px;border-left:3px solid var(--brand);background:var(--soft)}#myContractorRooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:12px}#myMore{margin-top:16px}.cb-my-room>b{font-size:18px}
@media(max-width:760px){.cb-organizations{grid-template-columns:1fr}.cb-tools{gap:10px}.cb-tools label{flex-basis:calc(50% - 10px);min-width:0}.cb-tools label:first-child{flex-basis:100%}.cb-cell{width:calc((100% - 14px)/3);padding:8px;min-height:78px;font-size:12px}.cb-floor{align-items:flex-start}.cb-floor>b{width:28px;padding-top:12px}.cb-heading{align-items:flex-start}.cb-heading h2{font-size:21px}.cb-details .row{flex-wrap:wrap}#myContractorRooms{grid-template-columns:1fr}.cb-details .btn{min-height:44px}}

.cb-room-layout:has(.cb-details){display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:20px;align-items:start}.cb-room-layout>*{min-width:0}.cb-room-layout .cb-details{position:sticky;top:90px;max-height:calc(100dvh - 110px);overflow:auto}#contractorRoom{scroll-margin-top:90px}@media(max-width:1000px){.cb-room-layout:has(.cb-details){grid-template-columns:1fr}.cb-room-layout .cb-details{position:static;max-height:none;overflow:visible}}

@media(max-width:760px){.admin-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:4px;min-height:54px}.admin-tabs button{white-space:nowrap}.cb-heading h2{overflow-wrap:anywhere}}

/* Compact contractor workspace and key journal, using the same brand surfaces. */
.cb-organizations{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;margin-top:12px;align-items:start}
.cb-organization{padding:13px 14px;gap:7px;border-radius:10px;min-height:128px;align-content:start}
.cb-organization>b{font-size:17px;line-height:1.25}.cb-organization>span{font-size:12px;line-height:1.4}
.cb-organization>div{gap:5px 10px;margin-top:2px}.cb-organization small{font-size:11px}
.cb-heading{margin-top:12px}.cb-heading h2{font-size:23px;margin-bottom:5px}.cb-heading .sub{font-size:12px}
.cb-tools{gap:9px;margin:12px 0}.cb-tools input,.cb-tools select,.cb-search input{min-height:40px;padding:8px 10px}
.cb-legend{gap:12px;margin:8px 0;font-size:11px}.cb-section{margin:12px 0}.cb-section h3{font-size:15px;margin:8px 0}.cb-floor{gap:8px;margin:6px 0}
.cb-cells{gap:6px}.cb-cell{width:90px;min-height:64px;padding:7px 8px;gap:2px;border-radius:7px;font-size:12px}.cb-cell strong{font-size:13px}.cb-cell small{font-size:10px}
.cb-room-layout:has(.cb-details){gap:14px}.cb-details{padding:14px!important;margin-top:12px}.cb-details h2{font-size:20px}.cb-details .contractor-row{gap:6px;padding:11px 0;font-size:13px}
#myContractorRooms{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:9px;margin-top:10px}.cb-my-room{padding:12px 13px;gap:6px;border-radius:10px}.cb-my-room>b{font-size:16px}.cb-my-room>span,.cb-my-room>small{font-size:12px;line-height:1.4}.cb-my-room>div{gap:6px;font-size:12px}
body[data-page=keys] .records-panel{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible}
body[data-page=keys] .records-toolbar{padding:14px;background:var(--card);border:1px solid var(--line);border-radius:10px 10px 0 0;gap:10px}
body[data-page=keys] .records-filters{padding:0 14px 12px;background:var(--card);border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px}
body[data-page=keys] .records-meta{padding:10px 2px;border:0}
body[data-page=keys] .records-batch{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-bottom:10px;background:var(--card)}
#keyRows{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px}
#keyRows .key-record{grid-template-columns:22px minmax(0,1fr);gap:8px;padding:13px;background:var(--card);border:1px solid var(--line);border-radius:10px;align-content:start}
#keyRows .key-record:has(.record-state.issued){border-left:3px solid #467fc5}#keyRows .key-record:has(.record-state.returned){border-left:3px solid var(--brand)}#keyRows .key-record.selected{background:var(--soft);border-color:var(--brand)}
#keyRows .record-heading{gap:6px}#keyRows .record-heading b{font-size:15px}#keyRows .record-state{font-size:10px;padding:4px 7px}#keyRows .key-tags{margin:8px 0 4px}#keyRows .key-tags span{font-size:12px;padding:4px 7px;background:var(--soft)}
#keyRows .record-actions{grid-column:2;gap:6px;margin-top:4px}#keyRows .record-dates{font-size:11px;gap:4px 10px}#keyRows .record-note{margin:6px 0;font-size:12px}
@media(max-width:760px){
 .cb-organizations{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cb-organization{padding:11px;gap:6px;min-height:136px}.cb-organization>b{font-size:16px;overflow-wrap:anywhere}.cb-organization>span{font-size:12px}.cb-organization>div{display:grid;gap:4px}
 .cb-tools input,.cb-tools select,.cb-search input{min-height:44px}.cb-cell{width:calc((100% - 12px)/3);min-height:68px;padding:7px;font-size:12px}.cb-cell strong{font-size:13px}
 .cb-my-room{padding:11px;gap:5px}.cb-my-room>b{font-size:16px}#myContractorRooms{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cb-my-room>div{display:grid;gap:4px}.cb-my-room small{overflow-wrap:anywhere}
 #keyRows{grid-template-columns:1fr;gap:9px}#keyRows .key-record{padding:12px}#keyRows .record-actions .btn{min-height:44px;padding:8px 10px}.record-select{min-width:24px;min-height:32px}.records-toolbar .btn{min-height:44px}
}
@media(max-width:359px){.cb-organizations,#myContractorRooms{grid-template-columns:1fr}}

.remark-verification{display:inline-flex;align-items:center;align-self:flex-start;gap:4px;padding:5px 9px;border:1px solid var(--line);border-radius:7px;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none}
.remark-verification.is-checked{background:var(--soft);color:var(--brand)}.remark-verification.is-unchecked{background:var(--warning-soft);color:var(--ink)}
