.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#0a232594;backdrop-filter:blur(4px)}.modal-backdrop[hidden],.role-popover[hidden]{display:none}.modal{width:min(100%,650px);max-height:calc(100vh - 40px);overflow:auto;border-radius:7px;background:#fff;box-shadow:0 30px 80px #0000004d}.modal.small{width:min(100%,520px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 17px;border-bottom:1px solid var(--line)}.modal-head h2{margin:3px 0 0;font:700 1.35rem/1.3 "Shippori Mincho",serif}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:1.2rem}.modal form{padding:21px 24px 24px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid label{display:grid;gap:6px;color:#495c5b;font-size:.72rem;font-weight:600}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:42px;border:1px solid #cad6d3;border-radius:4px;padding:9px 10px;color:var(--ink);background:#fff;outline:0;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #1f6c6b1a}.check-line{display:flex;align-items:center;gap:8px;margin-top:16px;color:var(--muted);font-size:.72rem}.check-line input{accent-color:var(--teal)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin:22px 24px 24px}.modal form .modal-actions{margin:22px 0 0}.print-dialog{width:min(100%,760px)}.print-settings{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:13px 24px;border-bottom:1px solid var(--line);background:#f7f9f8;font-size:.72rem}.print-settings>span{font-weight:700}.print-settings label{display:flex;align-items:center;gap:5px}.print-settings input{accent-color:var(--teal)}.print-sheet{margin:24px;padding:34px;border:1px solid #cfd7d5;color:#172b2c;background:#fff}.print-brand{display:flex;justify-content:space-between;align-items:end;padding-bottom:18px;border-bottom:2px solid #173f42}.print-brand h3{margin:0;font:700 1.5rem/1.2 "Shippori Mincho",serif}.print-brand p{margin:0;font-size:.72rem}.print-grid{display:grid;grid-template-columns:repeat(2,1fr);border-left:1px solid #cbd4d2;border-top:1px solid #cbd4d2;margin-top:20px}.print-field{min-height:65px;padding:10px 12px;border-right:1px solid #cbd4d2;border-bottom:1px solid #cbd4d2}.print-field.full{grid-column:1/-1}.print-field span,.print-field strong{display:block}.print-field span{color:#687775;font-size:.64rem}.print-field strong{margin-top:5px;font-size:.8rem}.print-signatures{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:55px}.print-signatures div{padding-top:6px;border-top:1px solid #789;color:#687775;font-size:.66rem}
.role-popover{position:fixed;z-index:50;left:18px;bottom:78px;width:208px;padding:7px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 20px 40px #0f2c2d33}.role-popover button{width:100%;display:grid;grid-template-columns:29px 1fr;gap:9px;align-items:center;padding:9px;border:0;border-radius:4px;background:#fff;text-align:left}.role-popover button:hover{background:#eef3f1}.role-popover button>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--teal);font-size:.68rem}.role-popover b,.role-popover small{display:block}.role-popover b{font-size:.7rem}.role-popover small{color:var(--muted);font-size:.62rem}.toast{position:fixed;z-index:90;right:24px;bottom:24px;display:flex;align-items:center;gap:10px;min-width:260px;padding:13px 16px;border:1px solid #b8d5cd;border-radius:5px;color:#174b45;background:#e6f3ef;box-shadow:0 17px 40px #15454133;transform:translateY(110px);opacity:0;transition:.25s;pointer-events:none}.toast.show{transform:translateY(0);opacity:1}.toast span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#2a776d;font-size:.7rem}.toast p{margin:0;font-size:.76rem;font-weight:600}
@media(max-width:1160px){.topbar{flex-wrap:wrap;padding:20px 0}.topbar-actions{width:100%;margin-left:0}.search-box{flex:1;width:auto}.metrics-grid{grid-template-columns:repeat(2,1fr)}.workspace-grid{grid-template-columns:1fr}.day-panel{display:grid;grid-template-columns:1fr 1fr}.day-panel .panel-head{grid-column:1/-1}.crew-block{padding:14px 18px;border-top:0;border-left:1px solid var(--line);margin:0}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.22s;box-shadow:16px 0 44px #0003}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;padding:0 18px 36px}.mobile-menu{display:block}.topbar-actions{gap:7px}.topbar-actions .ghost-button{display:none}.search-box kbd{display:none}.booking-row{grid-template-columns:64px 1fr auto;padding:11px 0}.booking-row .job-info{grid-column:2/3}.booking-row .status-control{grid-row:1/span 2;grid-column:3}.cash-summary{grid-template-columns:repeat(2,1fr)}.permission-layout{grid-template-columns:1fr}.role-list{display:grid;grid-template-columns:repeat(2,1fr)}}
@media(max-width:570px){.main-content{padding-inline:12px}.topbar{min-height:94px;gap:13px}.topbar-actions{display:grid;grid-template-columns:1fr auto}.search-box{min-width:0}.primary-button{padding-inline:12px}.metrics-grid,.cash-summary{grid-template-columns:1fr 1fr;gap:8px}.metric-card{min-height:132px;padding:15px 14px}.workspace-grid{margin-top:8px}.panel-head{align-items:flex-start;padding:15px}.date-switcher{display:none}.booking-list{padding-inline:11px}.booking-row{grid-template-columns:52px minmax(0,1fr);gap:8px 10px}.booking-row .job-info{grid-column:2}.booking-row .status-control{grid-column:1/-1;grid-row:auto;width:100%}.day-panel{display:block}.crew-block{border-left:0;border-top:1px solid var(--line)}.section-toolbar{align-items:flex-start}.section-toolbar p{display:none}.section-toolbar h2{font-size:1.4rem}.cash-summary article{padding:15px 13px}.cash-summary strong{font-size:1.3rem}.role-list{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal{max-height:92vh}.print-sheet{margin:12px;padding:18px}.print-grid{grid-template-columns:1fr}.print-field.full{grid-column:auto}.print-signatures{gap:15px}.toast{left:12px;right:12px;bottom:12px;min-width:0}}
@media print{body *{visibility:hidden!important}#printModal,#printModal *,#printSheet,#printSheet *{visibility:visible!important}#printModal{position:absolute;inset:0;display:block;padding:0;background:#fff}.print-dialog{width:100%;max-height:none;box-shadow:none}.no-print{display:none!important}.print-sheet{margin:0;padding:12mm;border:0}}
