:root{--navy:#041d3b;--navy2:#082b57;--blue:#1769ff;--blue2:#0d56da;--bg:#f4f7fb;--card:#fff;--ink:#14213d;--muted:#667085;--line:#dfe7f1;--green:#12a150;--red:#ef3434;--amber:#e9a400;--purple:#7b43e8;--shadow:0 8px 28px rgba(31,55,88,.08);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}body{font-size:14px;line-height:1.45}a{color:var(--blue)}
body>header,body>nav.nav,body>main{transition:none}
.app-shell{min-height:100vh;display:grid;grid-template-columns:234px minmax(0,1fr)}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:234px;background:linear-gradient(180deg,#06244a,#021934);color:#fff;display:flex;flex-direction:column;z-index:1000;box-shadow:5px 0 24px rgba(4,26,55,.18)}
.brand{height:72px;padding:0 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.1)}.brand>span{font-size:20px;font-weight:800;letter-spacing:.2px}.brand b{font-size:12px;background:#2775ee;padding:4px 8px;border-radius:6px}.sidebar-toggle{margin-left:auto;width:34px;height:34px;border:0;border-radius:8px;background:#fff;color:#153153;font-size:17px;cursor:pointer}
.side-nav{padding:10px 7px;overflow:auto;flex:1}.side-nav a{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;min-height:44px;padding:8px 10px;margin:2px 0;border-radius:7px;color:#fff;text-decoration:none;font-size:14px}.side-nav a:hover{background:rgba(255,255,255,.09)}.side-nav a.active{background:linear-gradient(135deg,#2478f6,#125bce);box-shadow:0 6px 15px rgba(20,98,220,.28)}.nav-icon{font-size:17px;text-align:center}.side-nav em{font-style:normal;background:#f33131;border-radius:9px;padding:1px 6px;font-size:11px}
.profile-card{padding:15px;display:flex;gap:11px;align-items:center;border-top:1px solid rgba(255,255,255,.1)}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dce9ff;color:#195dca;font-weight:800}.profile-card strong,.profile-card small,.profile-card i{display:block}.profile-card small{opacity:.75}.profile-card i{font-size:11px;color:#35d474;font-style:normal;margin-top:3px}
.workspace{grid-column:2;min-width:0;min-height:100vh}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px rgba(20,35,60,.03)}.page-heading{display:flex;align-items:center;gap:12px}.page-heading h1{margin:0;font-size:24px}.page-heading p{margin:3px 0 0;color:var(--muted)}.top-back{text-decoration:none;font-size:24px;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:15px}.icon-button{position:relative;border:0;background:transparent;font-size:19px;cursor:pointer}.icon-button span{position:absolute;top:-7px;right:-8px;background:var(--red);color:#fff;font-size:10px;border-radius:10px;padding:1px 5px}.user-mini{padding-left:15px;border-left:1px solid var(--line)}.user-mini b,.user-mini small{display:block}.user-mini small{color:var(--muted)}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;padding:22px 24px 10px;max-width:1600px;margin:0 auto}.content-area{min-width:0}.page-toolbar{display:flex;justify-content:flex-end;gap:10px;margin-bottom:14px;flex-wrap:wrap}.activity-panel{display:flex;flex-direction:column;gap:14px}.activity-panel>div,.activity-full{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.activity-head{display:flex;align-items:center;justify-content:space-between;padding:15px;border-bottom:1px solid var(--line)}.activity-head h3{margin:0}.link-button{border:0;background:transparent;color:var(--blue);cursor:pointer}.activity-list{padding:0 14px}.activity-item{display:grid;grid-template-columns:58px 22px 1fr;gap:5px;align-items:start;padding:11px 0;border-bottom:1px solid #edf1f6}.activity-item time{color:#65718a;font-size:12px}.activity-item p{margin:0;font-size:12px}.activity-item.success span{color:var(--green)}.activity-item.error span{color:var(--red)}.activity-full{display:block;text-align:center;padding:11px;text-decoration:none}.help-card{padding:15px}.help-card h3{margin:0 0 9px}.help-card a{display:block;padding:8px 0;text-decoration:none;border-bottom:1px solid #edf1f6;font-size:12px}.app-footer{padding:18px 26px;color:#76839b;text-align:center;font-size:12px}.app-footer span{float:right}
.surface,.panel,.card,.form-card,.stat{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}main{max-width:none;margin:0;padding:0}h2{font-size:18px;margin:18px 0 12px}.panel,.form-card{padding:17px;margin-bottom:15px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat{padding:18px;min-height:118px}.stat span{display:block;font-size:29px;font-weight:800}.stat small{display:block;color:var(--muted);margin-top:6px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.card{padding:16px;text-decoration:none;color:inherit}.card:hover{border-color:#b7cdf7;transform:translateY(-1px)}.card-top{display:flex;justify-content:space-between;gap:10px}.object-info{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0;color:#55627a}.source-info{margin-top:9px;padding:9px 11px;border-radius:8px;background:#f6f8fc;color:#526079}.badge{display:inline-flex;align-items:center;width:max-content;padding:4px 9px;border-radius:999px;background:#edf2f7;font-size:11px}.badge.published,.badge.confirmed{background:#dcfce7;color:#137b3b}.badge.pending,.badge.draft{background:#fff1bd;color:#7a5a00}.badge.declined,.badge.no_show,.badge.blocked,.badge.inactive{background:#fee2e2;color:#a51f1f}.progress{height:8px;background:#e8edf3;border-radius:9px;overflow:hidden;margin:10px 0}.progress span{height:100%;display:block;background:var(--blue)}
.btn,button{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:9px 14px;border:1px solid #cdd7e5;border-radius:8px;background:#fff;color:#19304f;text-decoration:none;cursor:pointer;transition:.15s ease;box-shadow:0 2px 5px rgba(31,55,88,.03)}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(31,55,88,.12)}.btn:active,.btn.is-pressed{transform:translateY(2px);box-shadow:none}.btn.primary{background:linear-gradient(180deg,#2678ff,#1260e5);border-color:#1260e5;color:#fff}.btn.danger{background:linear-gradient(180deg,#ff4c4c,#e92929);border-color:#e92929;color:#fff}.btn.is-success{background:var(--green)!important;border-color:var(--green)!important;color:#fff}.btn.is-error{background:var(--red)!important;border-color:var(--red)!important;color:#fff}.btn.is-loading{opacity:.75;pointer-events:none}.btn.is-loading:before{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.actions,.inline-form,.status-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions form{margin:0}.notice{padding:12px 14px;border-radius:9px;background:#eef5ff;border:1px solid #c9dcff;margin-bottom:14px}.notice.success{background:#eaf9ef;border-color:#bce8c9;color:#146b35}.notice.error{background:#fff0f0;border-color:#ffcaca;color:#a92525}.empty{padding:25px;text-align:center;color:var(--muted)}
label{display:block;font-weight:600;margin-bottom:12px}input,select,textarea,.modern-field{display:block;width:100%;margin-top:6px;padding:10px 11px;border:1px solid #cdd7e5;border-radius:8px;background:#fff;color:var(--ink);font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#2c77ef;box-shadow:0 0 0 3px rgba(44,119,239,.12)}textarea{min-height:90px;resize:vertical}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.full{grid-column:1/-1}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #e8edf4;vertical-align:top}th{background:#f7f9fc;color:#56637a;font-size:12px;text-transform:none;position:sticky;top:0}tr:hover td{background:#fbfcfe}.muted,small{color:var(--muted)}
.toast-stack{position:fixed;right:20px;bottom:20px;z-index:3000;display:grid;gap:9px}.ui-toast{min-width:260px;max-width:420px;padding:12px 14px;border-radius:9px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 28px rgba(10,30,60,.2)}.ui-toast.success{border-left:4px solid var(--green)}.ui-toast.error{border-left:4px solid var(--red)}
@media(max-width:1180px){.content-grid{grid-template-columns:1fr}.activity-panel{display:grid;grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app-shell{display:block}.sidebar{transform:translateX(-100%)}.workspace{grid-column:auto}.topbar{height:auto;min-height:76px;padding:13px 16px}.content-grid{padding:13px}.top-actions{display:none}.activity-panel{grid-template-columns:1fr}.cards,.grid.two,.grid2,.grid3,.stats{grid-template-columns:1fr}.app-footer span{float:none;display:block}.page-toolbar{justify-content:flex-start}}
.sidebar-collapsed .sidebar{width:72px}.sidebar-collapsed .brand>span,.sidebar-collapsed .brand b,.sidebar-collapsed .nav-label,.sidebar-collapsed .side-nav em,.sidebar-collapsed .profile-card div{display:none}.sidebar-collapsed .brand{padding:0 18px}.sidebar-collapsed .sidebar-toggle{margin:0}.sidebar-collapsed .side-nav a{grid-template-columns:1fr;justify-items:center}.sidebar-collapsed .workspace{margin-left:-162px}.sidebar-collapsed .profile-card{justify-content:center}

/* PROF-LINE v8.4 availability workflow, work time and payroll */
.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;align-items:end;margin-top:14px}.grid-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#64748b}.grid-form .wide{grid-column:span 2}.grid-form input,.grid-form select{padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.grid-form button{height:40px}.badge.paid{background:#dcfce7;color:#166534}.badge.partial{background:#fef3c7;color:#92400e}@media(max-width:700px){.grid-form .wide{grid-column:span 1}}

/* PROF-LINE v8.6.13 — compact full-screen forms */
.compact-page-header{padding-top:10px!important;padding-bottom:10px!important;min-height:auto!important}.compact-page-header h1{margin:0 0 2px!important}.compact-page-header p{margin:0!important}.compact-main{padding-bottom:8px!important}.site-edit-form{padding:12px 14px!important;margin-bottom:10px!important}.site-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px 10px}.site-form-grid label{margin:0;font-size:12px}.site-form-grid input,.site-form-grid select,.site-form-grid textarea{margin-top:3px;padding:7px 9px;min-height:34px}.site-form-grid textarea{min-height:48px}.span2{grid-column:span 2}.span3{grid-column:span 3}.span6{grid-column:span 6}.compact-docs{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;margin:9px 0 10px;padding:8px 10px;border-radius:9px;background:#f7f9fc;border:1px solid #e2e8f0}.compact-docs label{display:inline-flex;align-items:center;gap:5px;margin:0;font-weight:500;font-size:12px}.compact-docs input{width:auto;margin:0;padding:0}.site-edit-actions{display:flex;justify-content:space-between;align-items:center}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff7f7;border:1px solid #fecaca;border-radius:11px;padding:10px 14px;margin-bottom:10px}.danger-zone form{margin:0}.danger-zone .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.compact-notice{margin:0 0 8px!important;padding:8px 11px!important}
@media (min-width:1181px) and (max-height:950px){.topbar{height:66px;padding:0 20px}.page-heading h1{font-size:21px}.content-grid{padding:10px 16px 6px;gap:12px;grid-template-columns:minmax(0,1fr) 255px}.activity-panel{gap:9px}.activity-head{padding:10px}.activity-item{padding:7px 0}.panel,.form-card{padding:12px;margin-bottom:9px}label{margin-bottom:7px}input,select,textarea,.modern-field{margin-top:3px;padding:7px 9px}textarea{min-height:58px}.page-toolbar{margin-bottom:8px}.app-footer{padding:8px 20px}.site-edit-form{padding:10px 12px!important}.site-form-grid{gap:5px 8px}.compact-docs{margin:6px 0 7px;padding:6px 8px}.danger-zone{padding:8px 12px}}
@media(max-width:1180px){.site-form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.span2{grid-column:span 2}.span3{grid-column:span 3}.span6{grid-column:span 6}}
@media(max-width:760px){.site-form-grid{grid-template-columns:1fr}.site-form-grid .span2,.site-form-grid .span3,.site-form-grid .span6{grid-column:1}.danger-zone{align-items:stretch;flex-direction:column}.danger-zone .btn{width:100%}}

/* v8.6.20 — working recruitment status controls */
.recruitment-controls{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 12px}.recruitment-controls form{margin:0}.recruitment-btn{min-width:170px}.recruitment-btn.is-selected{background:#eef3fb;border-color:#6f8eb9;color:#19304f;box-shadow:inset 0 0 0 1px #6f8eb9}.recruitment-stats{margin-top:14px}

/* v8.6.22 — editable required headcount on shift page */
.required-people-form{margin-top:16px;padding:14px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fbff}
.required-people-editor{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.required-people-editor input[type=number]{width:110px;min-width:110px;text-align:center;font-size:18px;font-weight:700}
.required-people-editor .count-btn{min-width:44px;font-size:20px;line-height:1}

/* PROF-LINE v8.6.24 — compact desktop UI and persistent-update release */
/* Legacy pages (header + horizontal nav) are compact too. */
body>header{min-height:64px;padding:10px 22px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}
body>header h1{font-size:22px;margin:0 0 2px}body>header p{margin:0;color:var(--muted);font-size:13px}
body>nav.nav{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:5px 18px;background:#fff;border-bottom:1px solid var(--line)}
body>nav.nav a{padding:6px 9px;border-radius:7px;text-decoration:none;color:#263a57;font-size:12px;white-space:nowrap}
body>nav.nav a.active{background:#e8f1ff;color:#115dcc;font-weight:700}
body>main{padding:12px 18px 18px!important;max-width:1600px!important;margin:0 auto!important}

.telegram-page .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:9px}
.telegram-page .stat{min-height:78px;padding:11px 14px}.telegram-page .stat span{font-size:24px}.telegram-page .stat small{margin-top:2px}
.telegram-page .form-card{padding:12px 14px;margin-bottom:9px}.telegram-page .form-card h2{margin:0 0 8px;font-size:17px}
.telegram-page .notice{padding:8px 10px;margin-bottom:8px;font-size:12px}
.telegram-page .grid-form{grid-template-columns:1.05fr 1.05fr 1fr .8fr;gap:8px 10px;margin-top:8px;align-items:start}
.telegram-page .grid-form label{margin:0;gap:3px;font-size:11px}.telegram-page .grid-form input,.telegram-page .grid-form select{margin-top:2px;padding:7px 8px;min-height:34px}
.telegram-page .grid-form textarea{margin-top:2px;padding:7px 8px;min-height:62px;height:62px;resize:vertical}
.telegram-page .grid-form label.payment-field{grid-column:1/4}.telegram-page .grid-form label.bot-state-field{grid-column:4}.telegram-page .grid-form .telegram-save{grid-column:4;align-self:end;margin:0}
.telegram-page .grid-form .telegram-save .btn{width:100%}
.telegram-page .telegram-actions{margin-top:8px;gap:6px}.telegram-page .telegram-actions .btn{min-height:34px;padding:6px 10px;font-size:12px}
.telegram-page .telegram-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.telegram-page .telegram-help-grid .form-card{margin:0}
.telegram-page .telegram-help-grid p,.telegram-page .telegram-help-grid li{font-size:12px;line-height:1.35}.telegram-page .telegram-help-grid ul,.telegram-page .telegram-help-grid ol{margin:5px 0;padding-left:20px}

@media (min-width:1181px) and (max-height:1000px){
  body{font-size:13px}.topbar{height:62px!important;padding:0 18px}.content-grid{padding:8px 12px 5px;gap:10px;grid-template-columns:minmax(0,1fr) 245px}
  .brand{height:60px}.side-nav{padding-top:6px}.side-nav a{min-height:37px;padding:5px 8px;font-size:12px}.profile-card{padding:9px 12px}
  .stats{gap:8px;margin-bottom:9px}.stat{min-height:76px;padding:10px 12px}.stat span{font-size:23px}
  .panel,.form-card{padding:10px 12px;margin-bottom:8px}h2{margin:9px 0 7px;font-size:16px}
  .btn{min-height:34px;padding:6px 10px}.table-wrap th,.table-wrap td{padding:7px 8px}
  body>header{min-height:56px;padding:7px 18px}body>header h1{font-size:20px}body>nav.nav{padding:3px 14px}body>nav.nav a{padding:5px 7px;font-size:11px}body>main{padding:8px 14px 12px!important}
}
@media(max-width:900px){.telegram-page .grid-form{grid-template-columns:1fr 1fr}.telegram-page .grid-form label.payment-field,.telegram-page .grid-form label.bot-state-field,.telegram-page .grid-form .telegram-save{grid-column:auto}.telegram-page .telegram-help-grid{grid-template-columns:1fr}}
/* PROF-LINE v8.6.25 — automatic NP hours -> roster */
.hours-import-card{padding:12px 14px!important}.hours-import-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hours-import-title h2{margin:0 0 3px}.hours-import-title p{margin:0}.hours-import-form{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(260px,1.2fr) 130px auto;gap:10px;align-items:end;margin-top:10px}.hours-import-form label{margin:0;font-size:12px}.hours-import-form input{margin-top:3px;min-height:36px;padding:7px 9px}.hours-import-form .btn{height:36px;white-space:nowrap}.compact-hint{margin:7px 0 0;font-size:11px}.hours-summary{display:grid;grid-template-columns:1.5fr repeat(4,minmax(110px,.6fr));gap:9px;padding:10px 12px!important}.hours-summary>div{padding:8px 10px;background:#f7f9fc;border:1px solid #e3e9f2;border-radius:9px}.hours-summary strong{display:block;font-size:19px}.hours-summary span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.hours-preview-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.hours-preview-head h2{margin:0 0 3px}.hours-preview-head p{margin:0}.table-scroll{overflow:auto;max-height:calc(100vh - 255px);margin-top:9px}.hours-table{font-size:12px;min-width:1050px}.hours-table th{position:sticky;top:0;z-index:2;background:#f3f6fb}.hours-table td,.hours-table th{padding:7px 8px}.hours-table td small{display:block;color:var(--muted);margin-top:2px}.hours-missing{background:#fff7f7}.hours-incomplete{background:#fffbea}
@media(max-width:1050px){.hours-import-form{grid-template-columns:1fr 1fr}.hours-summary{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1181px) and (max-height:950px){.hours-import-card{padding:9px 12px!important}.hours-import-form{margin-top:6px;gap:7px}.hours-import-form input{min-height:32px;padding:5px 7px}.hours-import-form .btn{height:32px}.compact-hint{margin-top:4px}.table-scroll{max-height:calc(100vh - 220px)}}

/* v8.6.48 compact employee document gallery */
.ocr-panel{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;margin:12px 0;background:#f4f7fb;border:1px solid #dbe3ef}.ocr-ready{background:#eefbf4;border-color:#bfe8cf}.ocr-off{background:#fff8e7;border-color:#f0d58b}
.document-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,260px));gap:12px;align-items:start;justify-content:start}
.document-card{border:1px solid #dce3ed;border-radius:12px;padding:10px;background:#fff;min-width:0}
.document-preview{height:150px;background:#eef2f7;border-radius:9px;overflow:hidden;margin:8px 0;display:flex;align-items:center;justify-content:center}
.document-preview img{width:100%;height:100%;object-fit:contain;cursor:zoom-in;background:#20242a}
.document-preview object{width:100%;height:100%;border:0}
.doc-actions{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.doc-actions .btn{min-height:32px;padding:6px 8px;font-size:11px}
.ocr-text{margin-top:8px;background:#f6f8fb;border-radius:8px;padding:7px}.ocr-text pre{white-space:pre-wrap;max-height:180px;overflow:auto;font-size:11px}
.doc-modal{display:none;position:fixed;z-index:9999;inset:0;background:rgba(10,15,25,.90);padding:18px}.doc-modal.open{display:flex;align-items:center;justify-content:center}
.doc-modal-inner{width:min(1500px,98vw);height:min(1000px,96vh);background:#fff;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}
.doc-modal-toolbar{padding:9px 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd}.doc-modal-toolbar span{display:flex;gap:6px}
.doc-modal-canvas{flex:1;overflow:auto;background:#171a1f;display:flex;align-items:center;justify-content:center;padding:8px}
.doc-modal-canvas img{max-width:100%;max-height:100%;width:auto;height:auto;transform-origin:center center;transition:transform .12s ease}
@media(max-width:820px){.document-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.document-preview{height:130px}}
@media(max-width:520px){.document-gallery{grid-template-columns:1fr 1fr}.document-preview{height:110px}.doc-actions .btn{width:100%}}


/* v8.6.49 employee detail fields spacing + wrapping */
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 18px;align-items:start}
.detail-grid>div{min-width:0;padding:10px 12px;border:1px solid #e3e9f2;border-radius:10px;background:#f8fbff}
.detail-grid>div small{display:block;margin:0 0 6px;color:#6b778c;font-size:12px;line-height:1.25}
.detail-grid>div strong{display:block;font-size:16px;line-height:1.35;color:#153153;font-weight:700;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:640px){.detail-grid{grid-template-columns:1fr}}


/* v8.6.50 multi-location employee access */
.site-access-add-form{display:grid;gap:12px}.site-access-head-fields{display:grid;grid-template-columns:minmax(220px,320px) minmax(280px,1fr);gap:12px}.site-access-head-fields label{margin:0}
.site-picker{border:1px solid #dce5f0;border-radius:12px;padding:12px;background:#f8fbff}.site-picker-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.site-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.site-check{display:flex;align-items:center;gap:9px;margin:0;padding:9px 10px;border:1px solid #d7e0ec;border-radius:9px;background:#fff;cursor:pointer;font-weight:500;min-width:0}.site-check:hover{border-color:#8bb5f3;background:#f5f9ff}.site-check input{width:18px;height:18px;margin:0;flex:0 0 auto}.site-check span{min-width:0;display:block}.site-check b,.site-check small{display:block;overflow-wrap:anywhere}.site-check small{margin-top:2px}.site-check em{margin-left:auto;font-size:10px;color:#16803f;font-style:normal;white-space:nowrap}.site-check.is-added{background:#eefbf4;border-color:#bde6cc;cursor:default;opacity:.8}
.site-access-list-title{margin:20px 0 10px}.site-access-list{display:grid;gap:9px}.site-access-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(520px,3fr) auto;gap:10px;align-items:end;padding:11px;border:1px solid #dfe6ef;border-radius:11px;background:#fff}.site-access-name{align-self:center;min-width:0}.site-access-name strong{display:block;overflow-wrap:anywhere;margin-bottom:6px}.site-access-edit-form{display:grid;grid-template-columns:150px 150px minmax(180px,1fr) auto;gap:8px;align-items:end}.site-access-edit-form label{margin:0;font-size:11px;color:#64748b}.site-access-edit-form input,.site-access-edit-form select{margin-top:3px;padding:7px 8px;min-height:34px}.site-access-edit-form .btn,.site-access-delete .btn{min-height:34px;padding:6px 10px}.site-access-delete{margin:0}
@media(max-width:1100px){.site-access-row{grid-template-columns:1fr}.site-access-edit-form{grid-template-columns:1fr 1fr}.site-access-comment{grid-column:1/-1}.site-access-delete .btn{width:100%}}
@media(max-width:700px){.site-access-head-fields,.site-access-edit-form{grid-template-columns:1fr}.site-picker-grid{grid-template-columns:1fr}.site-picker-title{align-items:flex-start;flex-direction:column}.site-access-comment{grid-column:auto}}

/* v8.6.51 hard fix: employee card fields and visible build */
.version-chip{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:#e8f1ff;color:#115dcc;font-size:11px;font-weight:700;vertical-align:middle}
.form-card .detail-grid{display:grid!important;grid-template-columns:repeat(3,minmax(220px,1fr))!important;gap:12px!important}
.form-card .detail-grid>div{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0!important;padding:10px 12px!important;border:1px solid #e3e9f2!important;border-radius:10px!important;background:#f8fbff!important}
.form-card .detail-grid>div small,.form-card .detail-grid>div strong{display:block!important;position:static!important;float:none!important;width:auto!important;margin:0!important}
.form-card .detail-grid>div strong{line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
@media(max-width:1050px){.form-card .detail-grid{grid-template-columns:repeat(2,minmax(200px,1fr))!important}}
@media(max-width:620px){.form-card .detail-grid{grid-template-columns:1fr!important}}

/* v8.6.52 payment details */
.payment-card-form{max-width:780px}.payment-card-form label{margin:0}.payment-card-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:8px;align-items:end}.payment-card-row input{margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.payment-card-row .btn{white-space:nowrap}@media(max-width:760px){.payment-card-row{grid-template-columns:1fr 1fr}.payment-card-row input{grid-column:1/-1}}

/* v8.6.76 global database search */
.global-search{position:relative;width:min(430px,38vw)}
.global-search input{width:100%;height:42px;border:1px solid #d9e2ef;border-radius:12px;padding:0 14px;background:#f7f9fc;font:inherit;outline:none}
.global-search input:focus{background:#fff;border-color:#7ba7ff;box-shadow:0 0 0 3px rgba(68,126,255,.12)}
.global-search-results{position:absolute;z-index:1000;top:48px;left:0;right:0;max-height:430px;overflow:auto;background:#fff;border:1px solid #dbe4f0;border-radius:14px;box-shadow:0 18px 45px rgba(29,50,86,.18);padding:6px}
.global-search-item{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:10px;text-decoration:none;color:#1f2d3d}
.global-search-item:hover{background:#f0f5ff}
.global-search-item>span{font-size:20px;line-height:24px}
.global-search-item div{min-width:0;display:flex;flex-direction:column}
.global-search-item b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-search-item small{font-size:12px;color:#6f7d90;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-search-empty{padding:14px;color:#728096;text-align:center}
@media(max-width:1100px){.global-search{width:280px}.global-search input{font-size:13px}}
@media(max-width:820px){.global-search{display:none}}


/* PROF-LINE v8.6.96 — global usability pass */
.mobile-menu-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:20px;cursor:pointer;flex:0 0 auto}
.activity-head-actions{display:flex;align-items:center;gap:6px}.activity-head-actions .link-button:last-child{font-size:20px;line-height:1;color:#8793a6;padding:2px 5px}
.activity-hidden .content-grid{grid-template-columns:minmax(0,1fr)}.activity-hidden .activity-panel{display:none}
.required-mark{color:var(--red);font-weight:800}
.table-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 7px}.table-search-wrap{position:relative;display:flex;align-items:center;max-width:420px;width:100%}.table-search-wrap>span{position:absolute;left:11px;color:#8290a6;font-size:18px;pointer-events:none}.table-search{height:38px!important;margin:0!important;padding-left:34px!important;background:#fff!important}.table-count{white-space:nowrap;color:#7b8799}
.sortable-th{cursor:pointer;user-select:none;padding-right:25px!important;position:sticky}.sortable-th:after{content:'↕';position:absolute;right:9px;color:#a0abba;font-size:11px}.sortable-th.sort-asc:after{content:'↑';color:var(--blue)}.sortable-th.sort-desc:after{content:'↓';color:var(--blue)}
.table-wrap{scrollbar-gutter:stable}.table-wrap table tbody tr:nth-child(even) td{background:#fcfdff}.table-wrap table tbody tr:hover td{background:#f4f8ff}
.page-toolbar{position:sticky;top:90px;z-index:30;background:linear-gradient(180deg,var(--bg) 75%,rgba(244,247,251,0));padding:0 0 8px}
.back-to-top{position:fixed;right:24px;bottom:24px;width:44px;height:44px;border:0;border-radius:50%;background:#173b6b;color:#fff;box-shadow:0 8px 22px rgba(18,52,95,.28);font-size:22px;cursor:pointer;z-index:2500;opacity:0;pointer-events:none;transform:translateY(10px);transition:.18s}.back-to-top.show{opacity:1;pointer-events:auto;transform:none}
@media(max-width:1180px){.activity-hidden .activity-panel{display:none}}
@media(max-width:820px){
  .mobile-menu-toggle{display:inline-grid;place-items:center}.topbar{gap:10px;justify-content:flex-start}.page-heading{min-width:0}.page-heading h1{font-size:20px}.page-heading p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:68vw}
  .sidebar{transform:translateX(-102%);transition:transform .2s ease}.mobile-nav-open .sidebar{transform:translateX(0)}.mobile-nav-open:after{content:'';position:fixed;inset:0;background:rgba(3,18,38,.42);z-index:900}.mobile-nav-open .sidebar{z-index:1000}
  .sidebar-collapsed .sidebar{width:234px}.sidebar-collapsed .brand>span,.sidebar-collapsed .brand b,.sidebar-collapsed .nav-label,.sidebar-collapsed .side-nav em,.sidebar-collapsed .profile-card div{display:block}.sidebar-collapsed .brand{padding:0 16px}.sidebar-collapsed .sidebar-toggle{margin-left:auto}.sidebar-collapsed .side-nav a{grid-template-columns:25px 1fr auto;justify-items:stretch}.sidebar-collapsed .workspace{margin-left:0}.sidebar-collapsed .profile-card{justify-content:flex-start}
  .page-toolbar{position:static;padding:0}.table-tools{align-items:stretch;flex-direction:column}.table-count{padding-left:2px}.back-to-top{right:14px;bottom:14px}
}

/* v8.7.5 searchable employee picker */
.employee-search-form{align-items:flex-start!important}
.employee-search-wrap{position:relative;flex:1;min-width:280px}
.employee-search-input{width:100%;margin:0!important}
.employee-search-results{position:absolute;z-index:120;left:0;right:0;top:calc(100% + 4px);max-height:310px;overflow:auto;background:#fff;border:1px solid #cfd9e8;border-radius:10px;box-shadow:0 12px 30px rgba(26,52,91,.16);padding:5px}
.employee-search-item{display:block;width:100%;text-align:left;border:0;background:#fff;padding:10px 12px;border-radius:7px;cursor:pointer;color:inherit;font:inherit}
.employee-search-item:hover,.employee-search-item:focus{background:#edf5ff;outline:none}
.employee-search-item[hidden]{display:none!important}
.employee-search-hint{margin-top:6px;font-size:12px}

/* v8.7.17 — working administrator notification bell */
.icon-button{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:10px;transition:.15s ease}
.icon-button:hover{background:#f1f5fb}.icon-button:active{transform:translateY(1px)}
.icon-button span[hidden]{display:none!important}
.notification-panel{position:fixed;top:72px;right:24px;width:min(430px,calc(100vw - 28px));max-height:min(680px,calc(100vh - 92px));display:flex;flex-direction:column;background:#fff;border:1px solid #dbe4f0;border-radius:16px;box-shadow:0 22px 60px rgba(20,40,75,.22);z-index:3200;opacity:0;transform:translateY(-8px) scale(.985);transition:.16s ease;overflow:hidden}
.notification-panel[hidden]{display:none!important}.notification-panel.open{opacity:1;transform:none}
.notification-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px 11px;border-bottom:1px solid #e8edf4}.notification-panel-head strong{display:block;font-size:16px}.notification-panel-head small{display:block;margin-top:2px;color:#738096}.notification-close{border:0;background:transparent;color:#6e7a8e;font-size:24px;line-height:1;cursor:pointer;padding:0 3px}
.notification-panel-actions{display:flex;justify-content:space-between;gap:8px;padding:9px 12px;border-bottom:1px solid #edf1f6;background:#fafcff}.notification-panel-actions .link-button{font-size:12px;padding:5px}
.notification-list{overflow:auto;overscroll-behavior:contain}.notification-item{display:grid;grid-template-columns:36px minmax(0,1fr) 10px;gap:9px;align-items:start;padding:12px 14px;border-bottom:1px solid #edf1f6;text-decoration:none;color:inherit;background:#fff}.notification-item:hover{background:#f7faff}.notification-item.unread{background:#f3f7ff}.notification-item.unread:hover{background:#edf4ff}.notification-item.error{border-left:3px solid var(--red)}.notification-item.warning{border-left:3px solid var(--amber)}
.notification-icon{width:34px;height:34px;border-radius:9px;background:#edf3fb;display:grid;place-items:center;font-size:17px}.notification-copy{min-width:0}.notification-copy b,.notification-copy small,.notification-copy time{display:block}.notification-copy b{font-size:13px;margin-bottom:3px}.notification-copy small{font-size:12px;color:#536176;line-height:1.35;overflow-wrap:anywhere}.notification-copy time{font-size:10px;color:#909bad;margin-top:5px}.notification-item>i{width:7px;height:7px;border-radius:50%;background:var(--blue);margin-top:6px}
.notification-empty{padding:28px 18px;text-align:center;color:#6f7d90}.notification-empty.error{color:var(--red)}.notification-footer{display:block;padding:11px 14px;text-align:center;text-decoration:none;border-top:1px solid #e8edf4;background:#fafcff;font-size:12px;font-weight:600}
@media(max-width:820px){.notification-panel{top:68px;right:14px;left:14px;width:auto}}
