:root{--bg:#f4f6f8;--surface:#fff;--ink:#18232f;--muted:#6f7b87;--line:#e4e9ee;--nav:#073852;--nav2:#0b4866;--accent:#087f9f;--accent2:#075f79;--gold:#f6bf44;--ok:#16835f;--warn:#b87915;--bad:#b64a4a;--shadow:0 10px 30px rgba(23,35,47,.06);--radius:14px}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:linear-gradient(180deg,var(--nav),#0c131a);color:#dfe7ed;display:flex;flex-direction:column;z-index:20}.brand{height:76px;display:flex;align-items:center;gap:11px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.07)}.brand-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(145deg,var(--accent),#49b4c7);display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:-1px}.brand-mark.large{width:54px;height:54px;border-radius:15px}.brand strong{display:block;font-size:15px;letter-spacing:.06em}.brand small{display:block;color:#8396a4;margin-top:3px}.sidebar nav{padding:18px 12px;display:grid;gap:4px;flex:1}.nav-link{padding:11px 12px;border-radius:9px;color:#aebdc7;display:flex;gap:12px;align-items:center;transition:.15s}.nav-link:hover,.nav-link.active{background:var(--nav2);color:#fff}.nav-link.active{box-shadow:inset 3px 0 0 var(--gold)}.sidebar-foot{padding:14px 16px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;border-radius:50%;background:#263746;display:grid;place-items:center;font-weight:700}.user-meta{min-width:0;flex:1}.user-meta strong,.user-meta small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta strong{font-size:12px}.user-meta small{color:#8194a1;font-size:11px;margin-top:2px}.icon-btn{border:0;background:none;color:#9aacb8;cursor:pointer;font-size:18px}.main{margin-left:244px;min-height:100vh}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:10}.top-actions{font-size:12px;color:var(--muted);display:flex;gap:7px;align-items:center}.status-dot{width:7px;height:7px;border-radius:50%;background:#25a56f;box-shadow:0 0 0 3px rgba(37,165,111,.12)}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--accent);text-transform:uppercase}.content{padding:34px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.page-head h1,.profile-head h1{font-size:28px;letter-spacing:-.035em;margin:6px 0}.page-head p,.profile-head p{margin:0;color:var(--muted)}.btn{border:1px solid #d5dce2;background:#fff;color:var(--ink);padding:9px 14px;border-radius:8px;cursor:pointer;font-weight:650;display:inline-flex;align-items:center;justify-content:center}.btn:hover{border-color:#acbac5}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent2)}.btn.full{width:100%}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.kpi span,.kpi small{display:block;color:var(--muted)}.kpi strong{display:block;font-size:30px;margin:8px 0;letter-spacing:-.04em}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;min-width:0}.card h2{font-size:16px;margin:0 0 16px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-head h2{margin:0}.card-head a,.card-head span{font-size:12px;color:var(--accent)}.accent-card{background:linear-gradient(145deg,#12212c,#183341);color:#fff;border:0}.accent-card p{color:#b6c7d2}.quick-links{display:grid;margin-top:24px}.quick-links a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between}.quick-links.compact{margin-top:12px}.quick-links.compact a{color:var(--accent);border-color:var(--line)}.table-wrap{overflow:auto}.table-wrap.card{padding:0}.table-wrap .card-head{padding:18px 20px 0}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7b8894;text-align:left;padding:12px 16px;background:#f9fafb;border-bottom:1px solid var(--line)}.table-wrap td{padding:13px 16px;border-bottom:1px solid #edf0f2;vertical-align:middle}.table-wrap tbody tr:hover{background:#fbfcfd}.table-wrap strong,.table-wrap small{display:block}.table-wrap small{color:var(--muted);font-size:11px;margin-top:3px}.empty{text-align:center!important;color:#8b96a0;padding:30px!important}.badge{font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px;white-space:nowrap}.badge.pending{background:#fff1d9;color:#99610b}.badge.approved{background:#dff5ec;color:#0d7252}.badge.rejected{background:#fde6e6;color:#9b3737}.badge.neutral{background:#edf1f4;color:#586571}.mono{font-family:Consolas,monospace;font-size:12px}.table-link{color:var(--accent);font-weight:700;font-size:12px}.filters{display:flex;gap:9px;margin-bottom:14px}.filters input{flex:1;max-width:420px}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.form-stack input,.form-stack select,.form-stack textarea,.upload-bar input,.upload-bar select,.inline-form input{border:1px solid #d6dde3;border-radius:8px;background:#fff;padding:10px 11px;outline:0}.filters input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,132,168,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:980px}.form-grid label,.form-stack label{display:grid;gap:7px;color:#52606c;font-size:12px;font-weight:650}.span-2,.form-actions{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px}.form-stack{display:grid;gap:13px;align-content:start}.form-stack.small{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.fields-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check input{width:auto}.tabs{display:flex;gap:7px;margin-bottom:14px}.tabs a{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:999px;color:var(--muted);font-size:12px}.tabs a.active{background:#172a36;color:#fff;border-color:#172a36}.inline{display:flex;gap:5px}.mini{border:0;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:700;cursor:pointer}.mini.success{background:#dff5ec;color:#0c7251}.mini.danger{background:#fde6e6;color:#9b3737}.upload-bar{display:flex;align-items:center;gap:14px;margin-bottom:18px}.upload-bar>div{margin-right:auto}.upload-bar small{display:block;color:var(--muted);margin-top:4px}.attendance-layout{grid-template-columns:minmax(0,2fr) minmax(300px,.8fr)}.import-row,.rowline{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.import-row b,.import-row small,.rowline b,.rowline small{display:block}.import-row small,.rowline small{color:var(--muted);margin-top:3px;font-size:11px}.import-stats{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;font-size:10px}.import-stats span{padding:4px 6px;background:#f0f3f5;border-radius:5px}.import-stats .ok{color:var(--ok)}.import-stats .bad{color:var(--bad)}.profile-head{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:18px}.profile-avatar{width:64px;height:64px;border-radius:16px;background:#e7f5f8;color:var(--accent2);display:grid;place-items:center;font-size:22px;font-weight:800}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.info-list{margin:0}.info-list div{display:grid;grid-template-columns:150px 1fr;padding:10px 0;border-bottom:1px solid var(--line)}.info-list dt{color:var(--muted)}.info-list dd{margin:0;font-weight:600}.timeline>div{position:relative;padding:0 0 16px 24px;border-left:1px solid #dce3e8;margin-left:5px}.timeline b,.timeline small{display:block}.timeline small{color:var(--muted);margin-top:3px}.event-dot{position:absolute;left:-5px;top:2px;width:9px;height:9px;border-radius:50%;background:#8d99a3}.event-dot.in{background:var(--ok)}.event-dot.out{background:#657682}.inline-form{display:flex;gap:8px;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-grid .span-2{grid-column:1/-1}.audit-list>div{display:grid;grid-template-columns:145px 100px 130px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.audit-list time,.audit-list small{color:var(--muted)}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.report-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);transition:.15s}.report-card:hover:not(.disabled){transform:translateY(-2px);border-color:#bfccd5}.report-card span{color:var(--accent);font-size:10px;letter-spacing:.12em;font-weight:800}.report-card h2{font-size:18px}.report-card p{color:var(--muted);line-height:1.55}.report-card b{color:var(--accent);font-size:12px}.report-card.disabled{opacity:.55}.login-body{background:#0f1921;min-height:100vh}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;max-width:1050px;margin:auto;padding:40px;gap:80px}.login-brand{color:#fff}.login-brand h1{font-size:46px;letter-spacing:-.05em;margin:12px 0}.login-brand p{color:#91a6b3;line-height:1.7;max-width:520px}.login-card{background:#fff;border-radius:18px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.25);display:grid;gap:16px}.login-card h2{font-size:23px;margin:0}.login-card label{display:grid;gap:7px;font-size:12px;color:#5b6873;font-weight:650}.login-card input{border:1px solid #d5dde3;border-radius:9px;padding:12px}.muted{color:var(--muted)}.alert{padding:10px 12px;border-radius:8px}.alert.danger{background:#fde9e9;color:#963a3a}.mobile-menu{display:none}
@media(max-width:1000px){.kpis{grid-template-columns:1fr 1fr}.grid.two,.detail-grid,.attendance-layout{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}.mobile-menu{display:block;border:0;background:none;font-size:20px}.content{padding:22px 16px}.topbar{padding:0 16px}.page-head{align-items:flex-start;flex-direction:column}.kpis,.form-grid,.settings-grid,.report-grid,.login-shell{grid-template-columns:1fr}.form-grid{gap:12px}.login-shell{padding:22px;gap:24px}.login-brand h1{font-size:34px}.upload-bar,.inline-form{align-items:stretch;flex-direction:column}.profile-head{grid-template-columns:auto 1fr}.profile-head>.btn{grid-column:1/-1}.audit-list>div{grid-template-columns:1fr 1fr}.info-list div{grid-template-columns:1fr}.fields-2{grid-template-columns:1fr}}
/* Anadolu İK V2.0 — privacy-hardened employee self-service, RBAC, planning and attendance */
.page-alert{margin-bottom:16px}.alert.success{background:#e4f6ee;color:#126b50}.alert.warning{background:#fff3dc;color:#8d6013}.compact-copy{line-height:1.55;margin-top:-6px}.employee-cell{display:flex;align-items:center;gap:11px;min-width:190px}.employee-cell.large{min-width:0}.employee-name{color:var(--ink);transition:.15s}.employee-cell:hover .employee-name{color:var(--accent)}.employee-photo{display:inline-grid;place-items:center;flex:none;object-fit:cover;background:#e8f4f7;color:var(--accent2);font-weight:800;border:1px solid #d8e6ea}.employee-photo.sm{width:38px;height:38px;border-radius:10px}.employee-photo.lg{width:68px;height:68px;border-radius:17px}.employee-photo.xl{width:88px;height:88px;border-radius:20px}.employee-photo.initials{letter-spacing:-.03em}.photo-field{display:flex!important;grid-template-columns:none!important;align-items:center;gap:16px;padding:4px 0 16px;border-bottom:1px solid var(--line)}.photo-field label{flex:1}.photo-field small{font-weight:400;color:var(--muted)}.profile-tabs{display:flex;gap:8px;margin:0 0 18px;border-bottom:1px solid var(--line)}.profile-tabs a{padding:10px 14px 12px;color:var(--muted);font-weight:700;font-size:12px;border-bottom:2px solid transparent;margin-bottom:-1px}.profile-tabs a:hover,.profile-tabs a.active{color:var(--accent2);border-bottom-color:var(--accent)}.profile-tabs a span{background:#edf2f5;padding:2px 6px;border-radius:999px;margin-left:4px}.record-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.record-metrics a{border:1px solid var(--line);border-radius:10px;padding:18px;transition:.15s}.record-metrics a:hover{border-color:#b7c7d1;transform:translateY(-1px)}.record-metrics strong,.record-metrics span{display:block}.record-metrics strong{font-size:24px}.record-metrics span{margin-top:4px;color:var(--muted);font-size:11px}.period-nav{display:flex;align-items:center;gap:8px}.period-nav form{display:flex;gap:7px}.period-nav input[type=month]{border:1px solid #d5dce2;background:#fff;border-radius:8px;padding:8px 10px;color:var(--ink);font-weight:650}.period-nav>strong{font-size:13px;white-space:nowrap}.legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:11px}.attendance-legend{margin:0 0 16px}.attendance-legend.compact{margin:0 0 14px;gap:11px}.status-swatch{width:11px;height:11px;border-radius:4px;display:inline-block;margin-right:5px;vertical-align:-1px;border:1px solid rgba(0,0,0,.05)}.status-swatch.normal,.work-day.normal{background:#e5f6ed}.status-swatch.absent,.work-day.absent{background:#fde9e8}.status-swatch.short,.work-day.short{background:#fff0dc}.status-swatch.overtime,.work-day.overtime{background:#e5f1fb}.status-swatch.compensation,.work-day.compensation{background:#fff8d7}.status-swatch.leave,.work-day.leave{background:#eeeafb}.work-day.holiday{background:#f0f2f4}.work-day.off{background:#fafbfc}.metric-value{font-family:Consolas,monospace;font-size:12px}.bad-text{color:#a53e3e!important}.blue-text{color:#2876a8!important}.yellow-text{color:#9a7710!important}.attendance-profile-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.attendance-profile-head h1{font-size:27px;margin:5px 0 4px;letter-spacing:-.035em}.attendance-profile-head p{margin:0;color:var(--muted)}.attendance-kpis{grid-template-columns:repeat(5,1fr)}.attendance-kpis .kpi strong{font-size:25px}.attendance-top-grid{grid-template-columns:minmax(0,1.75fr) minmax(310px,.75fr);margin-bottom:18px}.calendar-card{padding:18px}.work-calendar{display:grid;gap:5px}.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.08em;color:#8a959e;font-size:9px;font-weight:800;padding:4px}.work-day{min-height:94px;border-radius:9px;border:1px solid rgba(26,49,63,.07);padding:8px;display:flex;flex-direction:column;gap:4px;overflow:hidden}.work-day.empty-day{background:transparent;border-color:transparent}.day-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.day-top b{font-size:14px}.day-top span{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:#50616b;text-align:right}.work-day small{font-size:9px;color:#63717a;white-space:nowrap}.weekly-chart{height:230px;display:flex;align-items:stretch;justify-content:space-around;gap:10px;padding:22px 4px 0;border-bottom:1px solid var(--line)}.week-group{display:grid;grid-template-rows:1fr auto auto;gap:5px;text-align:center;min-width:44px;flex:1;max-width:70px}.week-group .bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;min-height:150px}.week-group .bars i{display:block;width:13px;min-height:2px;border-radius:4px 4px 1px 1px}.week-group .bars i.planned{background:#b9c6ce}.week-group .bars i.worked{background:#2c8dac}.week-group b{font-size:10px}.week-group small{font-size:8px;color:var(--muted)}.chart-key{display:flex;gap:14px;margin-top:13px;font-size:10px;color:var(--muted)}.chart-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}.chart-dot.planned{background:#b9c6ce}.chart-dot.worked{background:#2c8dac}.attendance-actions-grid{grid-template-columns:1.35fr .65fr;margin-bottom:18px}.import-history{border-top:1px solid var(--line);margin-top:8px;padding-top:8px;max-height:150px;overflow:auto}.import-history>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #eef1f3;font-size:10px}.import-history b,.import-history small{display:block}.monthly-table .row-status-normal td:first-child{box-shadow:inset 4px 0 0 #8fd0ad}.monthly-table .row-status-absent td:first-child{box-shadow:inset 4px 0 0 #e79b96}.monthly-table .row-status-short td:first-child{box-shadow:inset 4px 0 0 #edb565}.monthly-table .row-status-overtime td:first-child{box-shadow:inset 4px 0 0 #83b7dc}.monthly-table .row-status-compensation td:first-child{box-shadow:inset 4px 0 0 #e7cd66}.day-status{font-size:9px;font-weight:800;border-radius:999px;padding:4px 7px;white-space:nowrap}.day-status.normal{background:#e0f4e9;color:#176547}.day-status.absent{background:#fbe4e2;color:#9c3d3a}.day-status.short{background:#ffedd3;color:#9a6010}.day-status.overtime{background:#e1eff9;color:#2a6e9a}.day-status.compensation{background:#fff3bd;color:#846600}.day-status.leave{background:#ece8fa;color:#655096}.day-status.holiday,.day-status.off{background:#edf0f2;color:#68747d}.planning-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:15px 18px}.planning-note p{margin:3px 0 0;color:var(--muted);font-size:11px}.planning-note>span{font-size:11px;background:#edf5f7;color:var(--accent2);padding:6px 9px;border-radius:999px;font-weight:800}.planning-table{overflow:auto;max-height:calc(100vh - 250px)}.planning-table table{min-width:1350px}.planning-table th:first-child,.planning-table td:first-child{position:sticky;left:0;z-index:3;background:#fff;min-width:220px}.planning-table th:first-child{background:#f9fafb}.planning-table th b,.planning-table th small{display:block}.planning-table th small{margin-top:3px}.plan-select{width:100%;min-width:140px;border:1px solid #d9e0e5;border-radius:7px;padding:7px;background:#fff;font-size:10px}.sticky-save{position:sticky;bottom:0;margin-top:12px;background:#162630;color:#d9e5eb;border-radius:11px;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:0 10px 35px rgba(0,0,0,.15)}.sticky-save span{font-size:11px;color:#aebfc9}
@media(max-width:1200px){.attendance-kpis{grid-template-columns:repeat(3,1fr)}.attendance-top-grid,.attendance-actions-grid{grid-template-columns:1fr}}@media(max-width:760px){.attendance-profile-head{align-items:flex-start;flex-direction:column}.attendance-kpis{grid-template-columns:1fr 1fr}.calendar-weekdays,.calendar-week{min-width:720px}.work-calendar{overflow:auto}.period-nav{flex-wrap:wrap}.record-metrics{grid-template-columns:1fr}.profile-tabs{overflow:auto}.planning-note,.sticky-save{align-items:flex-start;flex-direction:column}}
.week-comparisons{display:grid;gap:13px;margin-top:18px}.week-comparison{padding:11px 0;border-bottom:1px solid var(--line)}.week-comparison>div{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.week-comparison b{font-size:11px}.week-comparison small{font-size:9px;color:var(--muted)}.week-comparison label{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;margin:5px 0;font-size:9px;color:var(--muted)}.week-comparison progress{width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;background:#edf1f3}.week-comparison progress::-webkit-progress-bar{background:#edf1f3;border-radius:99px}.week-comparison progress::-webkit-progress-value{background:#aebdc7;border-radius:99px}.week-comparison progress.worked::-webkit-progress-value{background:#2c8dac}.week-comparison progress::-moz-progress-bar{background:#aebdc7;border-radius:99px}.week-comparison progress.worked::-moz-progress-bar{background:#2c8dac}
/* Anadolu İK V2.0 — profile, RBAC and account administration */
.nav-section{padding:18px 12px 6px;color:#5f7482;font-size:8px;font-weight:900;letter-spacing:.15em}.sidebar-user{display:flex;align-items:center;gap:9px;min-width:0;flex:1;border-radius:8px;padding:3px}.sidebar-user:hover{background:rgba(255,255,255,.04)}.self-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:15px}.self-hero h2{font-size:23px;margin:6px 0}.self-hero p{margin:0;color:var(--muted)}.mini-meta,.profile-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.mini-meta span,.profile-chips span{font-size:10px;background:#eef3f5;color:#52636e;border-radius:999px;padding:5px 8px;font-weight:700}.self-kpis .date-kpi{font-size:22px}.self-kpis .text-kpi{font-size:21px}.section-title{margin:30px 0 14px}.section-title h2{margin:5px 0 0;font-size:20px}.locked-note,.editable-note{font-size:10px!important;padding:5px 8px;border-radius:999px}.locked-note{background:#f1f3f5;color:#75818a!important}.editable-note{background:#e5f6ed;color:#176547!important}.info-list.premium div{grid-template-columns:175px 1fr}.info-list.premium dd small{display:block;color:var(--muted);font-size:10px;margin-top:4px;font-weight:500}.profile-contact-form input,.profile-contact-form textarea{width:100%}.readonly-company-contact{display:grid;gap:5px;margin-top:18px;padding:13px;border-radius:9px;background:#f7f9fa;color:#67747e;font-size:10px}.readonly-company-contact b{color:#43515b}.form-divider{border-top:1px solid var(--line);margin:4px 0;padding-top:12px}.form-divider span{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.horizontal-timeline{display:flex;overflow:auto;gap:18px}.horizontal-timeline>div{border-left:0;border-bottom:1px solid var(--line);padding:0 16px 12px 19px;min-width:150px}.compact-head{align-items:center}.compact-head h2{margin:0 0 4px}.employee-master-form{display:grid;gap:18px}.form-section{padding:22px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:14px}.section-heading h2{margin:3px 0 0}.section-heading p{margin:0;color:var(--muted);font-size:11px;max-width:420px;text-align:right}.form-grid.wide{max-width:none}.master-secondary{grid-template-columns:1fr 1fr}.sticky-form-actions{position:sticky;bottom:12px;z-index:7;background:#152631;color:#d9e5eb;padding:14px 16px;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 12px 35px rgba(0,0,0,.18)}.sticky-form-actions span{font-size:10px;color:#9fb1bd}.request-create-grid{margin-bottom:18px}.security-note{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:16px;padding:16px 18px}.security-note b{font-size:12px}.security-note p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.security-note>span{white-space:nowrap;background:#e8f5f8;color:var(--accent2);font-weight:800;font-size:10px;padding:7px 10px;border-radius:999px}.role-pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.role-employee{background:#eef1f3;color:#5a6871}.role-planner{background:#e8f3fa;color:#2a7098}.role-hr{background:#e6f5ee;color:#176849}.role-superadmin{background:#eee8f8;color:#614b86}.account-top-grid{align-items:start;margin-bottom:20px}.role-explainer{background:linear-gradient(145deg,#f9fbfc,#eef4f6)}.role-cards{display:grid;gap:8px}.role-cards>div{background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px 12px}.role-cards b,.role-cards span{display:block}.role-cards b{font-size:11px}.role-cards span{color:var(--muted);font-size:9px;margin-top:4px;line-height:1.45}.permission-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:28px 0 12px}.permission-header h2{margin:4px 0}.permission-header p{margin:0;color:var(--muted);font-size:11px}.permission-legend{display:flex;gap:6px}.permission-legend span{font-size:9px;font-weight:800;padding:5px 8px;border-radius:999px}.permission-legend .inherit{background:#eef1f3;color:#64717a}.permission-legend .allow{background:#e1f3ea;color:#176748}.permission-legend .deny{background:#fbe8e8;color:#993e3e}.permission-group{padding:0;margin-bottom:14px}.permission-group-title{padding:15px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.permission-group-title h3{margin:0;font-size:13px}.permission-group-title span{color:var(--muted);font-size:10px}.permission-matrix{overflow:auto}.permission-row{display:grid;grid-template-columns:minmax(280px,1.8fr) 180px 180px 160px;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #edf0f2;min-width:900px}.permission-row>div:first-child b,.permission-row>div:first-child small,.permission-row>div:first-child code{display:block}.permission-row>div:first-child b{font-size:11px}.permission-row>div:first-child small{font-size:9px;color:var(--muted);margin:4px 0}.permission-row>div:first-child code{font-size:8px;color:#8b98a1;background:#f5f7f8;padding:3px 5px;border-radius:4px;width:max-content}.permission-row select{width:100%;border:1px solid #d6dde3;border-radius:7px;padding:8px;background:#fff;font-size:10px}.permission-head{background:#f9fafb;color:#79858e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.default-access{font-size:9px;color:#68757e}.error-shell{min-height:calc(100vh - 160px);display:grid;place-items:center}.error-card{max-width:560px;text-align:center;padding:40px}.error-code{font-size:60px;letter-spacing:-.06em;color:#c3ccd2;font-weight:900}.error-card p{color:var(--muted);line-height:1.6}.muted{color:var(--muted)}
@media(max-width:900px){.self-hero,.permission-header,.security-note,.section-heading{align-items:flex-start;flex-direction:column}.master-secondary{grid-template-columns:1fr}.permission-legend{flex-wrap:wrap}.sticky-form-actions{position:static}.info-list.premium div{grid-template-columns:1fr}}
/* Anadolu İK V2 — privacy boundaries, leave review and hardened account administration */
.team-leader-row{background:#f1faf5!important}.team-leader-row:hover{background:#eaf7f0!important}.leader-badge{display:inline-flex!important;width:max-content;margin-top:4px;padding:3px 7px;border-radius:999px;background:#dff3e8;color:#176647!important;font-size:9px!important;font-weight:900!important;letter-spacing:.02em}.directory-privacy-note{border-color:#dbe9e2}.directory-profile-card{max-width:820px}.directory-profile-identity{display:flex;align-items:center;gap:18px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.directory-profile-identity h2{font-size:24px;margin:6px 0}.directory-profile-identity p{margin:0;color:var(--muted)}.team-leader-card{background:linear-gradient(145deg,#fff,#f3faf6);border-color:#d6eadd}.directory-safe-fields{max-width:680px}.employee-photo.xl{width:88px;height:88px;border-radius:22px}.leave-reason-preview{display:block;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#52606b}.leave-review-grid{align-items:stretch;margin-bottom:18px}.leave-review-person{display:flex;gap:15px;align-items:center;padding-bottom:17px;margin-bottom:8px;border-bottom:1px solid var(--line)}.leave-review-person h2{margin:0 0 5px}.leave-review-person p,.leave-review-person small{display:block;margin:0;color:var(--muted)}.leave-reason-card{display:flex;flex-direction:column}.leave-reason-full{padding:16px;border-radius:10px;background:#f7f9fa;line-height:1.7;min-height:120px;white-space:pre-wrap}.decision-status{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.decision-box{display:grid;grid-template-columns:110px 1fr;gap:9px 14px;margin-top:16px;padding:14px;border-radius:10px;background:#f7f9fa;font-size:11px}.decision-box b{color:#66737d}.leave-decision-form{display:grid;grid-template-columns:1fr 1.2fr auto;gap:20px;align-items:end;margin-bottom:18px}.leave-decision-form h2{margin:5px 0}.leave-decision-form p{margin:0;color:var(--muted);font-size:10px}.leave-decision-form textarea{width:100%;border:1px solid #d6dde3;border-radius:8px;padding:10px 11px}.decision-actions{display:flex;gap:8px}.btn.danger{background:#fff;border-color:#e4b9b9;color:#9c3f3f}.btn.danger:hover{background:#fdf0f0}.override-count{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f0f3f5;color:#65727b;font-size:9px;font-weight:800}.security-mini{margin-top:14px;padding:11px 12px;border-radius:9px;background:#fff6df;color:#765716;font-size:10px;line-height:1.5;border:1px solid #f0dfad}.permission-locked{background:#fbfcfd}.permission-locked select{opacity:.55}.effective-pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900}.effective-pill.on{background:#e1f3ea;color:#176748}.effective-pill.off{background:#fbe8e8;color:#993e3e}.permission-row>div:last-child small{display:block;color:var(--muted);font-size:8px;margin-top:4px}
@media(max-width:980px){.leave-decision-form{grid-template-columns:1fr}.decision-actions{justify-content:flex-end}}@media(max-width:700px){.directory-profile-identity{align-items:flex-start}.decision-actions{flex-direction:column}.decision-actions .btn{width:100%}}

/* V2.1 — corporate brand, lightweight quick actions and payroll */
.brand-logo{width:40px;height:40px;border-radius:11px;object-fit:cover;flex:0 0 auto;box-shadow:0 5px 14px rgba(0,0,0,.16)}
.login-logo{width:72px;height:72px;border-radius:20px;object-fit:cover;margin-bottom:18px;box-shadow:0 14px 34px rgba(0,0,0,.24)}
.quick-menu{position:relative}
.quick-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 11px;font-weight:750;color:#45545f;user-select:none}
.quick-menu summary::-webkit-details-marker{display:none}
.quick-menu[open] summary{border-color:#bfd0d9;box-shadow:0 0 0 3px rgba(8,127,159,.06)}
.quick-menu-panel{position:absolute;right:0;top:42px;width:210px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 18px 44px rgba(20,35,45,.15);padding:7px;display:grid;z-index:30}
.quick-menu-panel a{padding:10px 11px;border-radius:7px;font-size:11px;font-weight:700;color:#43515b}
.quick-menu-panel a:hover{background:#f2f6f8;color:var(--accent2)}
.inline-editor{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.inline-editor>summary,.compact-editor>summary,.salary-rate-editor>summary{cursor:pointer;font-weight:800;color:var(--accent2);font-size:11px;list-style:none}
.inline-editor>summary::-webkit-details-marker,.compact-editor>summary::-webkit-details-marker,.salary-rate-editor>summary::-webkit-details-marker{display:none}
.inline-editor[open]>summary,.compact-editor[open]>summary,.salary-rate-editor[open]>summary{margin-bottom:14px}
.fields-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.salary-policy-strip{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-bottom:16px;border-left:3px solid var(--gold)}
.salary-policy-values{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 5px}
.salary-policy-values span{background:#f3f6f8;border:1px solid #e6ebee;border-radius:999px;padding:6px 9px;color:#5a6770;font-size:10px}
.salary-policy-values b{color:#173746;margin-left:4px}
.salary-policy-strip>div>small{color:var(--muted);font-size:10px}
.compact-editor{min-width:360px}
.compact-editor>summary{text-align:right}
.compact-form{margin-top:10px;padding:14px;border-radius:10px;background:#f8fafb;border:1px solid var(--line)}
.salary-rate{font-variant-numeric:tabular-nums;color:#173746}
.salary-detail-grid{align-items:start;margin-bottom:18px}
.current-salary{display:flex;align-items:baseline;gap:7px;margin:12px 0 4px}
.current-salary strong{font-size:34px;letter-spacing:-.045em;color:#12394d}
.current-salary span{color:var(--muted)}
.salary-rate-editor{padding:20px}
.salary-rate-editor>summary{font-size:13px;color:var(--ink)}
.empty-state.compact{display:grid;gap:6px;padding:16px;border-radius:10px;background:#f7f9fa;color:#5f6b74}
.empty-state.compact b{color:#34434d}
.empty-state.compact span{font-size:10px;line-height:1.5}
.payroll-card{margin:18px 0;border-top:3px solid #0a7898}
.payroll-head h2{margin:4px 0 3px}
.payroll-head small{color:var(--muted)}
.payroll-total{display:flex;align-items:end;justify-content:space-between;gap:20px;background:linear-gradient(145deg,#0b3850,#0b506a);color:#fff;border-radius:12px;padding:18px 20px;margin:14px 0}
.payroll-total span,.payroll-total small{display:block;color:#c7d8df;font-size:10px}
.payroll-total strong{display:block;font-size:30px;letter-spacing:-.04em;margin-top:5px}
.payroll-total small{max-width:440px;text-align:right;line-height:1.5}
.payroll-components{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.payroll-components>div{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;gap:5px}
.payroll-components span,.payroll-components small{color:var(--muted);font-size:9px}
.payroll-components b{font-size:17px;font-variant-numeric:tabular-nums}
.payroll-components strong{font-size:12px;color:#183b4d}
.payroll-components .muted-component{background:#fafbfc}
.payroll-formula-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.payroll-formula-row span{font-size:9px;color:#5c6972;background:#f2f5f7;border-radius:999px;padding:6px 8px}
.payroll-review-note{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:11px 13px;border-radius:9px;background:#fff7e7;border:1px solid #f1dfb7;color:#715619;font-size:10px;line-height:1.5}
.payroll-review-note b{white-space:nowrap}
@media(max-width:1000px){.payroll-components{grid-template-columns:1fr 1fr}.salary-policy-strip{align-items:flex-start;flex-direction:column}.compact-editor{min-width:0;width:100%}.compact-editor>summary{text-align:left}}
@media(max-width:760px){.top-actions>span:not(.status-dot){display:none}.quick-menu-panel{position:fixed;right:14px;top:70px}.fields-3,.payroll-components{grid-template-columns:1fr}.payroll-total{align-items:flex-start;flex-direction:column}.payroll-total small{text-align:left}.brand-logo{width:36px;height:36px}}
/* V2.1 payroll cards use auto-fit so adding a payable category never forces overflow. */
.payroll-components{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}

/* V2.2 — Sociocracy, staged approvals and payroll clarity */
.badge.pending_team,.badge.pending_hr{background:#fff1d9;color:#8a5a0a}.muted-badge{background:#eef2f5;color:#66737f}.btn.danger{background:#fff;border-color:#efb3b3;color:#9b3737}.btn.danger:hover{background:#fff5f5;border-color:#dc8f8f}.compact-copy{margin:0 0 12px;line-height:1.5}.page-alert{margin-bottom:18px}.alert{border-radius:10px;padding:11px 14px;border:1px solid transparent}.alert.success{background:#e8f7f1;border-color:#bde7d7;color:#116c50}.alert.warning{background:#fff6df;border-color:#f0d798;color:#84580c}.alert.danger{background:#fff0f0;border-color:#f0b9b9;color:#963a3a}

.approval-flow{display:grid;gap:10px;margin:16px 0}.approval-step{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.approval-step>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e8edf1;color:#60707d;font-weight:800}.approval-step b,.approval-step small{display:block}.approval-step small{color:var(--muted);margin-top:4px}.approval-step p{margin:9px 0 0;padding:9px 10px;border-radius:8px;background:#fff;border:1px solid var(--line);color:#4e5b66}.approval-step.active{border-color:#efd18c;background:#fffaf0}.approval-step.active>span{background:#f6bf44;color:#5d4100}.approval-step.done{border-color:#bfe5d5;background:#f3fbf8}.approval-step.done>span{background:#16835f;color:#fff}.approval-step.rejected-step{border-color:#edbcbc;background:#fff7f7}.approval-step.rejected-step>span{background:#b64a4a;color:#fff}.decision-box{margin-top:14px;padding:16px;border:1px solid #d8e0e6;border-radius:11px;background:#fbfcfd}.decision-box label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#52606c}.decision-box textarea{width:100%;border:1px solid #d6dde3;border-radius:8px;padding:10px;resize:vertical}.decision-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}.approval-blocked{margin-top:14px;display:grid;gap:5px;padding:14px 16px;border:1px solid #ead7a7;border-radius:10px;background:#fffaf0}.approval-blocked b{color:#79510b}.approval-blocked span{color:#6a6252;font-size:12px;line-height:1.5}

.payroll-table-card{padding:0;overflow:hidden}.payroll-head{padding:20px 20px 8px;margin:0}.payroll-head h2{font-size:19px;margin:5px 0 4px}.payroll-head small{color:var(--muted)}.payroll-breakdown-wrap{overflow:auto;border-top:1px solid var(--line)}.payroll-breakdown{width:100%;border-collapse:collapse;min-width:860px}.payroll-breakdown th{padding:11px 14px;background:#f7f9fa;color:#75828d;text-transform:uppercase;font-size:10px;letter-spacing:.075em;text-align:left;border-bottom:1px solid var(--line)}.payroll-breakdown td{padding:13px 14px;border-bottom:1px solid #edf0f2;vertical-align:middle}.payroll-breakdown tbody tr:hover{filter:brightness(.992)}.payroll-breakdown td strong,.payroll-breakdown td small{display:block}.payroll-breakdown td small{font-size:10px;color:var(--muted);margin-top:3px}.payroll-row.tone-normal{background:#f3faf7}.payroll-row.tone-overtime{background:#f1f7fd}.payroll-row.tone-compensation{background:#fffbea}.payroll-row.tone-leave{background:#f5f2fb}.payroll-row.tone-missing{background:#fff4ed}.payroll-tone-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px}.payroll-tone-dot.normal{background:#3e9a75}.payroll-tone-dot.overtime{background:#4288c7}.payroll-tone-dot.compensation{background:#d5a01d}.payroll-tone-dot.leave{background:#7c68ad}.payroll-tone-dot.missing{background:#d17037}.payroll-note{max-width:300px;color:#5e6b76;font-size:12px}.payroll-breakdown tfoot td{background:#102d3d;color:#fff;border:0;padding:17px 14px}.payroll-breakdown tfoot small{color:#abc0cb}.payroll-grand-total{font-size:22px;font-weight:850;text-align:right;letter-spacing:-.025em}.payroll-formula-row{display:flex;gap:7px;flex-wrap:wrap;padding:12px 20px 16px;background:#f8fafb;border-top:1px solid var(--line)}.payroll-formula-row span{font-size:10px;color:#5f6d78;background:#fff;border:1px solid #dde4e9;border-radius:999px;padding:6px 9px}.payroll-review-note{margin:0 20px 20px;padding:12px 14px;border-radius:9px;background:#fff8e7;border:1px solid #efdca8;display:grid;gap:4px}.payroll-review-note b{font-size:12px;color:#81580c}.payroll-review-note span{font-size:11px;color:#6f654e;line-height:1.5}

.sociocracy-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.sociocracy-canvas-card{padding:0;overflow:hidden}.graph-toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.graph-toolbar input{width:250px;border:1px solid #d6dde3;border-radius:8px;padding:9px 11px;background:#fff}.graph-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:13px 16px;border-bottom:1px solid var(--line);background:#fafbfc;color:#5f6d78;font-size:11px}.graph-legend small{margin-left:auto;color:#7a8792}.graph-line{display:inline-block;width:28px;border-top:2px solid #6c7f8b;margin-right:6px;vertical-align:middle}.graph-line.dashed{border-top-style:dashed;border-color:#d97706}.circle-graph-wrap{overflow:auto;height:min(72vh,820px);min-height:620px;background:radial-gradient(circle at 18% 10%,#fbfdff,#fff 55%);position:relative}.circle-graph-wrap svg{display:block;transform-origin:0 0;will-change:transform}.graph-circle-node,.graph-person-node{cursor:pointer}.graph-circle-node rect,.graph-person-node circle{transition:.15s}.graph-circle-node:hover rect{stroke-width:2}.graph-person-node:hover circle{r:7}.graph-person-node.draggable{cursor:grab;touch-action:none}.graph-person-node.dragging{cursor:grabbing;opacity:.85}.graph-person-node.dragging text{font-weight:700}.graph-circle-node.dim,.graph-person-node.dim{opacity:.09}.sociocracy-inspector{position:sticky;top:94px;max-height:calc(100vh - 120px);overflow:auto}.sociocracy-inspector h2{font-size:20px;margin:6px 0 5px}.inspector-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.inspector-section h3{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#697783}.inspector-section select{width:100%;border:1px solid #d6dde3;border-radius:8px;padding:9px;margin-bottom:8px;background:#fff}.inspector-section>.btn{width:100%}.inspector-membership{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f2}.inspector-membership b,.inspector-membership small{display:block}.inspector-membership b{font-size:12px}.inspector-membership small{font-size:10px;color:var(--muted);margin-top:2px}.inspector-membership select{margin:0;padding:7px}.danger-text{color:#b64a4a}.person-row-button{width:100%;border:0;border-bottom:1px solid #edf0f2;background:transparent;padding:9px 2px;text-align:left;cursor:pointer;color:#27313a;display:flex;align-items:center;justify-content:space-between;gap:10px}.person-row-button:hover{color:var(--accent);background:#fbfcfd}.person-row-button span{font-weight:650}.person-row-button small{color:var(--muted);font-size:10px}.sociocracy-admin-grid{margin-top:18px}.role-admin-list{display:grid;gap:2px}.role-admin-list .inline-form{margin-top:0;padding:8px 0}.role-admin-list input[type=text],.role-admin-list input:not([type]){flex:1}.membership-chips{display:flex;gap:7px;flex-wrap:wrap}.membership-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #dce3e8;background:#f8fafb;border-radius:999px;padding:6px 9px;font-size:11px}.membership-chip.primary{border-color:#afd1dd;background:#edf8fb;color:#075f79}

.team-leader-row{background:#f0faf5!important}.team-leader-row:hover{background:#e8f7ef!important}.leader-card{border-color:#b9dfcf;background:linear-gradient(180deg,#f5fcf8,#fff)}

@media(max-width:1100px){.sociocracy-layout{grid-template-columns:1fr}.sociocracy-inspector{position:static;max-height:none}.circle-graph-wrap{height:620px}.graph-legend small{width:100%;margin-left:0}.payroll-note{max-width:none}}
@media(max-width:780px){.sociocracy-layout{display:block}.sociocracy-inspector{margin-top:14px}.graph-toolbar{width:100%}.graph-toolbar input{flex:1;min-width:170px}.circle-graph-wrap{min-height:520px;height:62vh}.approval-step{grid-template-columns:30px 1fr}.decision-actions{flex-direction:column-reverse}.decision-actions .btn{width:100%}.payroll-head{align-items:flex-start;gap:10px}.payroll-grand-total{text-align:left}.inspector-membership{grid-template-columns:1fr}.inspector-membership .icon-btn{justify-self:end}}

/* V3.0 — resilient shell, header account menu and shift administration */
.sidebar{overflow:hidden}.brand{flex:0 0 76px}.sidebar-nav{min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;scrollbar-width:thin;scrollbar-color:#365565 transparent;padding-bottom:28px!important}.sidebar-nav::-webkit-scrollbar{width:7px}.sidebar-nav::-webkit-scrollbar-thumb{background:#365565;border-radius:999px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}
.top-actions{gap:11px}.system-state{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.top-user-menu{position:relative}.top-user-menu>summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:11px;padding:6px 9px 6px 7px;min-width:190px}.top-user-menu>summary::-webkit-details-marker{display:none}.top-user-menu[open]>summary{border-color:#b9cad4;box-shadow:0 0 0 3px rgba(8,127,159,.06)}.top-user-copy{min-width:0;display:grid;gap:1px;line-height:1.1;text-align:left;flex:1}.top-user-copy strong{font-size:11.5px;color:#2d3943;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-user-copy small{font-size:9.5px;color:#7b8892}.top-avatar{width:31px;height:31px;font-size:12px;flex:0 0 31px}.chevron{font-size:14px;color:#84919a}.top-user-panel{position:absolute;right:0;top:calc(100% + 8px);width:210px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 18px 45px rgba(22,34,44,.14);padding:7px;z-index:40}.top-user-panel a,.top-user-panel button{width:100%;display:block;padding:10px 11px;border:0;background:transparent;border-radius:7px;text-align:left;color:#34414b;cursor:pointer;font-size:12px}.top-user-panel a:hover,.top-user-panel button:hover{background:#f3f6f8;color:var(--accent2)}.top-user-panel form{border-top:1px solid var(--line);margin-top:5px;padding-top:5px}.top-user-panel form button{color:#a13d3d}
.shift-management-grid{grid-template-columns:minmax(0,1.7fr) minmax(320px,.72fr);align-items:start}.shift-editor{position:sticky;top:94px}.actions-nowrap{align-items:center;white-space:nowrap}.actions-nowrap form{margin:0}.mini{background:#eef3f6;color:#35505f}.mini:hover{background:#e3ebef}.muted-row{opacity:.68;background:#fafafa}.muted-row:hover{opacity:.86}.badge.neutral{background:#eef1f3;color:#65727c}
@media(max-width:1050px){.shift-management-grid{grid-template-columns:1fr}.shift-editor{position:static}.top-user-copy{display:none}.top-user-menu>summary{min-width:auto}.system-state>span:last-child{display:none}}
@media(max-width:760px){.topbar{padding:0 14px}.top-actions{gap:7px}.system-state{display:none}.top-user-panel{position:fixed;right:12px;top:70px}.sidebar-nav{padding-bottom:42px!important}}

/* V3.1 — interaction polish, daily attendance, company calendar and structured shift breaks */
.clickable-card,.kpi-link{display:block;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.clickable-card:hover,.kpi-link:hover{transform:translateY(-2px);border-color:#bfd0da;box-shadow:0 14px 34px rgba(23,35,47,.09)}.kpi-link:focus-visible,.clickable-card:focus-visible,.company-day:focus-visible{outline:3px solid rgba(8,127,159,.2);outline-offset:2px}.clickable-row{cursor:pointer}.clickable-row td{transition:background .12s}.clickable-row:hover td{background:#f7fbfc}.self-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.self-hero>b{color:var(--accent);font-size:12px;white-space:nowrap}.form-note,.linked-person-card{padding:12px 14px;border:1px solid #dce5ea;border-radius:10px;background:#f8fafb;display:grid;gap:4px;align-content:center}.form-note b,.linked-person-card b{font-size:12px}.form-note span,.linked-person-card small{font-size:10.5px;color:var(--muted);line-height:1.45}.linked-person-card{grid-template-columns:auto 1fr;align-items:center}

.break-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-top:4px}.break-editor-head h3{margin:4px 0 3px;font-size:14px}.break-editor-head p{margin:0;color:var(--muted);font-size:10.5px;line-height:1.45}.break-rows{display:grid;gap:8px}.break-row{display:grid;grid-template-columns:112px minmax(120px,1fr) 104px 14px 104px 30px;gap:7px;align-items:center;padding:9px;border:1px solid #e1e7eb;border-radius:10px;background:#fbfcfd}.break-row select,.break-row input{min-width:0;width:100%;border:1px solid #d5dde3;border-radius:7px;background:#fff;padding:8px}.break-row>span{text-align:center;color:#85929b}.shift-break-total{display:flex;align-items:center;justify-content:space-between;border-radius:9px;background:#eef6f8;padding:10px 12px;color:#49616e}.shift-break-total strong{font-size:14px;color:var(--accent2)}.shift-break-summary{display:grid;gap:4px;min-width:170px}.shift-break-summary span{display:block;font-size:10px;line-height:1.35;color:#5f6c76}.shift-break-summary b{font-size:10px;color:#273640;margin-right:4px}.shift-break-summary .muted{color:#8a959e}

.day-detail-head{margin-bottom:14px}.day-status-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;border-radius:14px;padding:18px 20px;margin-bottom:15px;border:1px solid var(--line);background:#fff}.day-status-banner h2{margin:4px 0 3px;font-size:20px}.day-status-banner p{margin:0;color:#5f6d78}.day-status-banner>strong{font-size:29px;letter-spacing:-.04em}.day-status-banner.normal{background:#f1faf6;border-color:#b9dfcf}.day-status-banner.short{background:#fff5ed;border-color:#efd0b5}.day-status-banner.absent{background:#fff1f1;border-color:#e9bbbb}.day-status-banner.overtime{background:#eff7fd;border-color:#bad8ee}.day-status-banner.compensation{background:#fffbea;border-color:#ecdf9f}.day-status-banner.leave{background:#f5f2fb;border-color:#d4c9eb}.day-status-banner.holiday,.day-status-banner.off{background:#f7f8f9}.day-kpis{grid-template-columns:repeat(5,1fr)}.bad-text{color:#b6503f}.blue-text{color:#286f9f}.yellow-text{color:#a67a08}.attendance-day-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.plan-timeline,.event-timeline,.pair-list{display:grid;gap:7px}.timeline-row{display:grid;grid-template-columns:minmax(105px,.7fr) minmax(140px,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #e5e9ec;border-radius:9px;background:#fbfcfd}.timeline-row.primary{background:#eef7fa;border-color:#c7e1e8}.timeline-row span,.timeline-row small{color:var(--muted);font-size:10px}.timeline-row b{font-variant-numeric:tabular-nums}.event-row{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:9px;background:#fafbfc;border:1px solid #e6eaed;position:relative}.event-row .event-dot{position:static;width:9px;height:9px}.event-row.in .event-dot{background:var(--ok)}.event-row.out .event-dot{background:#647786}.event-row b,.event-row small{display:block}.event-row small{color:var(--muted);font-size:9.5px;margin-top:2px}.event-row time{font-family:Consolas,monospace;font-weight:700;color:#31444f}.pair-row{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(140px,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border-bottom:1px solid #edf0f2}.pair-row span,.pair-row small{color:var(--muted);font-size:10px}.performance-meter{padding:13px;border:1px solid #e2e8ec;border-radius:10px;background:#fafcfd;margin-bottom:12px}.performance-meter>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.performance-meter progress{width:100%;height:9px;accent-color:var(--ok)}.info-list.premium div{grid-template-columns:1fr auto}.activity-notes{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.activity-notes h3{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#667480}.empty-state.compact{padding:18px;text-align:center;border:1px dashed #d8e0e5;border-radius:9px;background:#fafbfc}.empty-state.compact b,.empty-state.compact span{display:block}.empty-state.compact span{font-size:10.5px;color:var(--muted);margin-top:4px}.date-cell-link{font-weight:750;color:#263640}.work-day{cursor:pointer}.work-day:hover{box-shadow:inset 0 0 0 2px rgba(8,127,159,.16)}.work-day em{display:block;font-style:normal;font-size:8.5px;color:#71808b;margin-top:3px}

.company-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.company-calendar-card{padding:0;overflow:hidden}.calendar-weekdays.company{display:grid;grid-template-columns:repeat(7,1fr);background:#f7f9fa;border-bottom:1px solid var(--line)}.calendar-weekdays.company span{padding:10px;text-align:center;color:#75828d;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.company-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));background:#e6ebee;gap:1px}.company-day{min-height:118px;background:#fff;padding:9px;display:block;transition:.12s;overflow:hidden}.company-day:hover{background:#f7fbfc;box-shadow:inset 0 0 0 2px rgba(8,127,159,.11)}.company-day.outside{background:#fafafa;opacity:.48}.company-day.selected{box-shadow:inset 0 0 0 2px var(--accent);background:#f4fbfd}.company-day.has-holiday{background:#fffdf5}.company-day-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.company-day-top b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:12px}.company-day-top span{font-size:8.5px;font-weight:800;background:#e7f6ef;color:#126a50;border-radius:999px;padding:4px 6px}.calendar-events{display:grid;gap:4px}.calendar-event{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:5px;padding:4px 6px;font-size:8.5px;font-weight:700}.calendar-event.holiday{background:#fff0cc;color:#805b0b}.calendar-event.leave{background:#eaf3fb;color:#28688e}.calendar-events>small{font-size:8.5px;color:var(--muted)}.calendar-inspector{position:sticky;top:94px;max-height:calc(100vh - 116px);overflow:auto}.calendar-inspector h2{margin:5px 0 14px}.selected-day-events{display:grid;gap:7px}.selected-event{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #e1e7eb;border-radius:9px;background:#fbfcfd}.selected-event.holiday{border-left:3px solid #d6a629}.selected-event.leave{border-left:3px solid #478ec2}.selected-event b,.selected-event small{display:block}.selected-event small{font-size:9.5px;color:var(--muted);margin-top:2px}.calendar-action-tabs{display:flex;gap:5px;margin:16px 0 10px;padding-top:14px;border-top:1px solid var(--line)}.calendar-action-tabs button{border:1px solid #d9e0e5;border-radius:999px;background:#fff;padding:7px 10px;cursor:pointer;font-size:10.5px;font-weight:700}.calendar-action-tabs button.active{background:#183644;border-color:#183644;color:#fff}.calendar-action-form{padding-top:3px}.calendar-action-form.hidden{display:none}

/* Sociocracy V3.1: clearer person cards, connection focus and less visual noise. */
.graph-circle-node,.graph-person-card{cursor:pointer;transition:opacity .16s}.graph-person-card.draggable{cursor:grab;touch-action:none}.graph-person-card.dragging{cursor:grabbing;opacity:.78}.graph-person-card rect{transition:stroke-width .12s,filter .12s}.graph-person-card:hover rect{stroke-width:1.8;filter:drop-shadow(0 4px 7px rgba(20,40,55,.10))}.graph-circle-node.dim,.graph-person-card.dim{opacity:.08}.graph-circle-node.focus rect,.graph-person-card.focus rect{stroke-width:2.4}.graph-links path{transition:opacity .16s,stroke-width .16s}.graph-links path.dim{opacity:.06!important}.graph-links path.focus{opacity:.95!important;stroke-width:2!important}

@media(max-width:1250px){.day-kpis{grid-template-columns:repeat(3,1fr)}.company-calendar-layout{grid-template-columns:1fr}.calendar-inspector{position:static;max-height:none}.company-calendar-grid{grid-template-columns:repeat(7,minmax(94px,1fr))}.break-row{grid-template-columns:100px minmax(120px,1fr) 95px 12px 95px 30px}}
@media(max-width:850px){.day-kpis{grid-template-columns:1fr 1fr}.attendance-day-grid{grid-template-columns:1fr}.company-calendar-card{overflow:auto}.company-calendar-grid,.calendar-weekdays.company{min-width:760px}.break-row{grid-template-columns:1fr 1fr}.break-row>span{display:none}.break-row .remove-break{justify-self:end}.break-editor-head{align-items:stretch;flex-direction:column}.self-hero{align-items:flex-start;flex-direction:column}.timeline-row,.pair-row{grid-template-columns:1fr auto}.timeline-row small,.pair-row small{grid-column:1/-1}.day-status-banner{align-items:flex-start}.day-status-banner>strong{font-size:24px}}
@media(max-width:560px){.day-kpis{grid-template-columns:1fr}.company-calendar-layout{display:block}.calendar-inspector{margin-top:14px}.break-row{grid-template-columns:1fr}.day-status-banner{flex-direction:column}.top-user-menu>summary{padding-right:7px}}

/* V3.5 — request center, bulk planning, leave calendar, shift validation and monthly salary UX */
.request-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-bottom:18px}.request-card{padding:0;overflow:hidden}.request-card-head{display:flex;align-items:flex-start;gap:13px;padding:20px 20px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfcfd)}.request-card-head h2{margin:3px 0 4px;font-size:19px}.request-card-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.request-card-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;background:#eaf6f8;color:var(--accent2);font-weight:900}.request-card .form-stack{padding:18px 20px 20px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;border-radius:10px;background:#f1f4f6}.segmented label{cursor:pointer}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented span{display:block;padding:9px 10px;border-radius:7px;text-align:center;font-size:11px;font-weight:750;color:#66737d}.segmented input:checked+span{background:#fff;color:var(--accent2);box-shadow:0 2px 8px rgba(25,48,61,.09)}.hourly-fields.hidden{display:none}.duration-preview{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:9px;background:#eef7fa;border:1px solid #cfe4ea;color:#49616e;font-size:10.5px}.duration-preview strong{color:#12394d}.field-invalid{border-color:#dc7777!important;background:#fff8f8!important;box-shadow:0 0 0 3px rgba(190,65,65,.08)}.field-error,.inline-form-error{display:block;color:#a43f3f;font-size:9.5px;font-weight:650;line-height:1.35;margin-top:4px}.request-history{margin-top:18px}.request-history table tbody tr:hover td{background:#f8fbfc}.request-history .decision-note{display:block;max-width:340px;margin-top:3px;color:#6a7780;font-size:9.5px;line-height:1.4}

.shift-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:16px}.shift-rules>div{padding:12px 13px;border:1px solid #dce6eb;border-radius:10px;background:#f8fbfc}.shift-rules b,.shift-rules span{display:block}.shift-rules b{font-size:11px;color:#28414e}.shift-rules span{font-size:9.5px;color:var(--muted);margin-top:3px;line-height:1.4}.shift-form-error-box{margin-bottom:14px}.shift-form-error-box ul{margin:7px 0 0 18px;padding:0}.shift-form-error-box li{margin:3px 0}.shift-editor-card.has-errors{border-color:#e1a0a0;box-shadow:0 0 0 3px rgba(180,65,65,.05)}.shift-table .break-label{display:inline-flex;gap:5px;align-items:baseline}.shift-table .break-label b{font-size:10.5px}.shift-table .break-label span{font-variant-numeric:tabular-nums;color:#5c6973}.meal-tolerance-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;background:#fff4df;color:#805b0b;font-size:9px;font-weight:750}

.bulk-planning-bar{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,2.3fr) auto;gap:16px;align-items:end;margin-bottom:14px;border-top:3px solid #1b7e9b}.bulk-title{display:grid;gap:4px}.bulk-title b{font-size:15px}.bulk-title small{color:var(--muted);font-size:9.5px;line-height:1.4}.bulk-days{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:7px}.bulk-days label{display:grid;gap:5px}.bulk-days label>span{font-size:10px;font-weight:750;color:#40515c}.bulk-days label>span small{display:block;font-size:8.5px;color:var(--muted);font-weight:500;margin-top:1px}.bulk-days select{min-width:0;width:100%;padding:8px 7px;border:1px solid #d8e0e5;border-radius:7px;background:#fff;font-size:10px}.bulk-actions{display:grid;gap:7px;min-width:145px}.select-col{width:42px;text-align:center}.select-col input{width:16px;height:16px;accent-color:var(--accent)}.planning-table tr.selected-row td{background:#f0f8fa}.planning-table select{min-width:110px}

.leave-overview-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.65fr);gap:18px;align-items:start;margin-bottom:18px}.leave-calendar-card{padding:0;overflow:hidden}.leave-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f7f9fa;border-bottom:1px solid var(--line)}.leave-calendar-weekdays span{padding:9px;text-align:center;font-size:9.5px;font-weight:800;color:#74818b;text-transform:uppercase;letter-spacing:.06em}.leave-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:1px;background:#e6ebee}.leave-calendar-day{min-height:103px;background:#fff;padding:8px;overflow:hidden}.leave-calendar-day.outside{background:#fafafa;opacity:.48}.leave-calendar-day.today{box-shadow:inset 0 0 0 2px rgba(10,120,152,.24)}.leave-day-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.leave-day-top b{font-size:11px}.leave-day-top small{font-size:8px;color:var(--accent2);font-weight:800}.leave-badges{display:grid;gap:4px}.leave-badge{display:block;border-radius:6px;padding:4px 6px;background:#edf5fb;color:#28688e;font-size:8.5px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leave-badge.pending{background:#fff5df;color:#84580c}.leave-badge.hourly{border-left:3px solid #7b68ad}.upcoming-leaves{position:sticky;top:92px}.upcoming-leave-list{display:grid;gap:8px}.upcoming-leave{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #e2e8ec;border-radius:10px;background:#fbfcfd}.upcoming-leave:hover{border-color:#c6d7df;background:#f7fbfc}.upcoming-date-box{display:grid;place-items:center;border-radius:9px;background:#eef6f8;padding:7px 4px;color:#31505e}.upcoming-date-box b{font-size:16px;line-height:1}.upcoming-date-box small{font-size:8px;text-transform:uppercase;margin-top:3px}.upcoming-leave>span b,.upcoming-leave>span small{display:block}.upcoming-leave>span small{font-size:9px;color:var(--muted);margin-top:3px}.upcoming-leave>i{font-style:normal;color:#87949d}

.attendance-rule-card{padding:15px 17px;margin-bottom:15px;background:linear-gradient(135deg,#f7fbfc,#fff);border-left:3px solid #1683a1}.attendance-rule-card>b{display:block;font-size:11px;margin-bottom:10px;color:#2b4552}.attendance-rule-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1.35fr auto 1fr;gap:8px;align-items:center}.attendance-rule-flow>span{padding:10px;border-radius:9px;background:#fff;border:1px solid #e0e7eb;font-size:10px;font-weight:750;line-height:1.35}.attendance-rule-flow>span i{width:20px;height:20px;display:inline-grid;place-items:center;border-radius:50%;background:#153d50;color:#fff;font-style:normal;font-size:8px;margin-right:5px}.attendance-rule-flow>span small{color:var(--muted);font-size:8.5px;font-weight:500}.attendance-rule-flow>b{color:#9aa6ae}.event-row.meal-exit,.event-row.meal-return{background:#fff9ed;border-color:#ecd9a9}.event-row.meal-exit .event-dot,.event-row.meal-return .event-dot{background:#d9a526}.event-row.review{background:#fff4f1;border-color:#e9c2b7}.event-row.review .event-dot{background:#cb6d50}.day-interpretation{display:grid;gap:7px}.day-interpretation>div{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border-bottom:1px solid #edf0f2}.day-interpretation>div:last-child{border-bottom:0}.day-interpretation span{color:var(--muted);font-size:10px}.day-interpretation b{text-align:right;font-size:10.5px}.performance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.performance-grid>div{padding:10px;border:1px solid #e3e8eb;border-radius:9px;background:#fafcfd}.performance-grid span,.performance-grid b{display:block}.performance-grid span{font-size:9px;color:var(--muted)}.performance-grid b{font-size:14px;margin-top:4px}

.salary-monthly-table{margin-bottom:18px;border-top:3px solid #0b7898}.salary-inline-form{display:grid;grid-template-columns:minmax(125px,1fr) 105px 105px minmax(130px,.8fr) auto;gap:8px;align-items:center}.salary-inline-form label{display:flex;align-items:center;border:1px solid #dce3e7;border-radius:8px;background:#fff;overflow:hidden}.salary-inline-form input{width:100%;min-width:0;border:0!important;box-shadow:none!important;padding:8px!important;background:transparent!important}.salary-inline-form label span{padding-right:8px;color:#77838c;font-size:8.5px;white-space:nowrap}.salary-inline-form>strong{font-size:11px;color:#173f51;font-variant-numeric:tabular-nums}.salary-formula-note{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;margin-bottom:12px;border-radius:9px;background:#eff7fa;border:1px solid #d4e6ec;color:#4a6270;font-size:10px}.salary-formula-note b{color:#173f51}.salary-month-nav{display:flex;align-items:center;gap:8px}.salary-month-nav form{display:flex;gap:6px;align-items:center}.salary-month-nav input[type=month]{border:1px solid #d9e1e6;border-radius:8px;padding:8px;background:#fff}

@media(max-width:1250px){.bulk-planning-bar{grid-template-columns:1fr}.bulk-actions{display:flex;min-width:0}.bulk-days{grid-template-columns:repeat(7,minmax(85px,1fr));overflow:auto}.leave-overview-grid{grid-template-columns:1fr}.upcoming-leaves{position:static}.salary-inline-form{grid-template-columns:repeat(2,minmax(130px,1fr))}.salary-inline-form>strong,.salary-inline-form>button{align-self:center}.attendance-rule-flow{grid-template-columns:1fr 20px 1fr 20px 1fr}.attendance-rule-flow>b:nth-of-type(3),.attendance-rule-flow>span:nth-of-type(4){display:none}}
@media(max-width:900px){.request-workspace{grid-template-columns:1fr}.shift-rules{grid-template-columns:1fr}.leave-calendar-card{overflow:auto}.leave-calendar-grid,.leave-calendar-weekdays{min-width:720px}.salary-inline-form{grid-template-columns:1fr 1fr}.attendance-rule-flow{grid-template-columns:1fr}.attendance-rule-flow>b{display:none!important}.attendance-rule-flow>span:nth-of-type(4){display:block}.performance-grid{grid-template-columns:1fr}}
@media(max-width:600px){.bulk-days{grid-template-columns:repeat(7,105px)}.bulk-actions{flex-direction:column}.salary-inline-form{grid-template-columns:1fr}.upcoming-leave{grid-template-columns:48px 1fr}.upcoming-leave>i{display:none}}

/* V3.5 sociocracy readability */
.sociocracy-page-head{align-items:flex-end}.graph-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:14px}.graph-stat-strip>div{display:flex;align-items:baseline;gap:8px;padding:11px 13px;border:1px solid #e2e8eb;border-radius:10px;background:#fff}.graph-stat-strip strong{font-size:20px;color:#123c50}.graph-stat-strip span{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.graph-depth-bands{pointer-events:none}.graph-circle-node.drop-target rect{stroke:#f0a91e!important;stroke-width:3!important;filter:drop-shadow(0 4px 9px rgba(214,150,24,.18))}.graph-multi-badge{pointer-events:none}.graph-links path.secondary-hidden{display:none}.graph-action-error{margin-bottom:12px}.inspector-summary{display:flex;gap:8px;margin:12px 0 2px}.inspector-summary span{display:flex;align-items:baseline;gap:5px;padding:6px 8px;border-radius:8px;background:#f3f7f9;color:#687681;font-size:9px}.inspector-summary b{color:#173e50;font-size:12px}.circle-graph-wrap{scroll-behavior:smooth;overscroll-behavior:contain}.graph-toolbar button[aria-pressed="true"]{background:#fff4df;border-color:#e3c27e;color:#79550d}
@media(max-width:850px){.graph-stat-strip{grid-template-columns:repeat(2,1fr)}.sociocracy-page-head{align-items:flex-start}}
.event-row.meal{background:#fff9ed;border-color:#ecd9a9}.event-row.meal .event-dot{background:#d9a526}.day-interpretation small{color:#8a969e;font-size:8.5px;text-align:right;line-height:1.35}
.request-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;background:#eaf6f8;color:var(--accent2);font-weight:900}.request-icon.overtime{background:#eef3fb;color:#365f9a}.hourly-fields{display:none}.hourly-fields.is-visible{display:grid}.field-invalid>input,.field-invalid>select,.field-invalid>textarea{border-color:#dc7777!important;background:#fffafa!important}

/* V4.0 — payroll-safe time engine UX, resilient bulk planning and professional leave calendar */
.v4-bulk-planner{border-top:3px solid var(--accent);padding:18px 20px;margin-bottom:14px}.v4-bulk-planner .bulk-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.selection-pill{display:inline-flex;align-items:center;justify-content:center;min-width:108px;padding:7px 10px;border-radius:999px;background:#edf7fa;color:#21657d;font-size:10px;font-weight:850;white-space:nowrap}.v4-bulk-days{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:8px}.v4-bulk-days label{display:grid;gap:5px;padding:9px;border:1px solid #e0e7eb;border-radius:10px;background:#fafcfd}.v4-bulk-days label>span{font-size:10px;font-weight:800;color:#41535f}.v4-bulk-days select{width:100%;min-width:0}.v4-planning-table tbody tr:has(.employee-select:checked) td{background:#eff9fb}.v4-planning-table .employee-select{width:17px;height:17px;accent-color:var(--accent)}
.v4-shift-editor-section{margin-top:28px;padding-top:5px}.v4-shift-editor-section .section-title p{margin:5px 0 0;color:var(--muted);font-size:10.5px;max-width:760px}.v4-shift-table td{vertical-align:top}.shift-editor.wide{max-width:none}.shift-editor.wide .form-grid{max-width:none}
.v4-leave-calendar{padding:0;overflow:hidden;margin-bottom:18px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfcfd)}.calendar-toolbar h2{margin:3px 0 0}.calendar-toolbar .period-nav{margin:0}.calendar-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--line);background:#f9fbfc;font-size:9.5px;color:#68757e}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-legend .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.calendar-legend .dot.approved{background:#4a9d78}.calendar-legend .dot.pending{background:#d4a33f}.leave-calendar-grid.professional{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:1px;background:#dfe6ea}.leave-calendar-grid.professional .leave-calendar-day{min-height:126px;padding:9px;background:#fff}.leave-calendar-grid.professional .leave-calendar-day:hover{background:#fbfdfe}.leave-calendar-grid.professional .leave-badge{padding:5px 7px;border-radius:7px}.v4-upcoming-table{margin-bottom:18px}.v4-upcoming-table td small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.v4-upcoming-table td strong{font-size:10.5px}
.v4-day-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.v4-day-kpis.secondary{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:10px}.green-text{color:#267653}.day-score{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.day-score strong{font-size:28px}.day-score small{color:var(--muted);font-size:9px}.day-status-banner.review{background:#fff5df;border-color:#ecd393}.day-status-banner.unplanned{background:#f3f7fb;border-color:#ccdce7}.work-day.review{background:#fff4de!important}.status-swatch.review{background:#e4ad3c}.financial-review-alert{border-color:#e8c178;background:#fff8e8}.financial-review-alert b{color:#795615}
@media(max-width:1200px){.v4-bulk-days{grid-template-columns:repeat(7,minmax(95px,1fr));overflow:auto}.v4-day-kpis,.v4-day-kpis.secondary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.v4-bulk-planner .bulk-title,.calendar-toolbar{align-items:flex-start;flex-direction:column}.leave-calendar-grid.professional{min-width:850px}.v4-leave-calendar{overflow:auto}.v4-day-kpis,.v4-day-kpis.secondary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.v4-day-kpis,.v4-day-kpis.secondary{grid-template-columns:1fr}}

/* V4.5 — stabilization and operational UX */
.sidebar-nav{overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.24) transparent}.sidebar-nav::-webkit-scrollbar{width:7px}.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:8px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}

/* Shift editor */
.break-editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.break-editor-head h3{margin:4px 0}.break-editor-head p{margin:0;color:var(--muted);font-size:10.5px}.break-rows{display:grid;gap:8px}.break-row{display:grid;grid-template-columns:150px minmax(170px,1fr) 125px 20px 125px 38px;align-items:center;gap:8px;padding:9px;border:1px solid #e1e7eb;border-radius:10px;background:#fafcfd}.break-row select,.break-row input{width:100%;min-width:0}.shift-break-total{display:flex;justify-content:flex-end;align-items:center;gap:10px;color:var(--muted)}.shift-break-total strong{color:var(--ink);font-variant-numeric:tabular-nums}.shift-form-error-box{display:flex;gap:10px;align-items:center}.field-invalid{border-color:#df8c8c!important}.field-error,.inline-form-error{color:#a43e3e}.v4-shift-editor-section{scroll-margin-top:95px}

/* Circle-aware weekly planning */
.v45-bulk-planner{border-top:3px solid var(--accent);margin-bottom:16px}.v45-bulk-planner .bulk-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.v45-bulk-days{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:8px}.planning-workspace{position:relative}.v45-planning-card{padding:0;overflow:hidden}.planning-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-bottom:1px solid var(--line);background:#fff}.planning-table-toolbar h2{margin:3px 0 0}.select-all-control{font-weight:750;color:#425462}.v45-planning-scroll{overflow-x:auto;overflow-y:visible;max-height:none;border-radius:0;box-shadow:none;border:0}.v45-planning-table{min-width:1320px}.v45-planning-table th{position:sticky;top:0;z-index:4;background:#f8fafb}.v45-planning-table .select-col{width:66px;min-width:66px;text-align:center}.v45-planning-table .employee-col{min-width:245px}.v45-planning-table th.select-col,.v45-planning-table td.select-col{position:sticky;left:0;z-index:5;background:#fff}.v45-planning-table th.employee-col,.v45-planning-table td.employee-col{position:sticky;left:66px;z-index:4;background:#fff;border-right:1px solid #e6ebee}.v45-planning-table th.select-col,.v45-planning-table th.employee-col{background:#f8fafb;z-index:7}.circle-main-row td{padding:0!important;background:#eef5f7!important;border-top:2px solid #d7e4e9}.circle-sub-row td{padding:0!important;background:#f8fafb!important}.circle-group-heading,.circle-sub-heading{display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 14px}.circle-group-heading strong{font-size:12px}.circle-group-heading small,.circle-sub-heading small{margin-left:auto;color:var(--muted);font-size:9.5px}.circle-sub-heading{padding-left:34px;min-height:36px;color:#425462}.circle-sub-heading>span{font-weight:750;font-size:10.5px}.circle-color{width:9px;height:24px;border-radius:5px;background:var(--circle-color);flex:none}.circle-select,.employee-select{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}.employee-plan-row:has(.employee-select:checked) td{background:#eff9fb}.employee-plan-row:has(.employee-select:checked) td.select-col,.employee-plan-row:has(.employee-select:checked) td.employee-col{background:#eff9fb}.planning-action-bar{position:sticky;bottom:12px;z-index:12;margin:14px 10px 0;background:#132833;color:#e5eef2;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 12px 34px rgba(12,27,36,.26)}.planning-action-bar>div strong,.planning-action-bar>div small{display:block}.planning-action-bar>div small{margin-top:3px;color:#a9bbc5;font-size:9.5px}.planning-action-bar .btn.light{background:#fff;border-color:#fff;color:#172b36}.selection-pill strong{margin-right:4px}

/* Employee directory grouped by sociocracy */
.employee-directory-filters{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(150px,.7fr)) auto auto;gap:8px;align-items:center}.employee-directory-groups{display:grid;gap:18px}.employee-circle-section{padding:0;overflow:hidden}.employee-circle-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f9fbfc)}.employee-circle-head .circle-group-heading{padding:0}.employee-circle-head h2{margin:3px 0 0}.count-badge{padding:6px 9px;border-radius:999px;background:#edf5f7;color:#3e6678;font-size:9.5px;font-weight:800}.employee-subcircle-block+.employee-subcircle-block{border-top:1px solid #e6ebee}.employee-subcircle-head{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:#f7f9fa;color:#455760}.employee-subcircle-head strong,.employee-subcircle-head small{display:block}.employee-subcircle-head small{font-size:8.5px;color:var(--muted);margin-top:2px}.employee-subcircle-head>span{font-size:9px;color:var(--muted)}.employee-group-table{padding:0;border:0;box-shadow:none;border-radius:0}.employee-group-table table{margin:0}.team-leader-row td{background:#f0faf5!important}.leader-badge{display:inline-flex!important;width:max-content;padding:3px 6px;border-radius:999px;background:#dff2e8;color:#176647!important;font-weight:800}

/* Leave calendar — same interaction language as attendance calendar */
.leave-calendar-card-v45{padding:0;overflow:hidden;margin-bottom:18px}.leave-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#dfe6ea;border-bottom:1px solid #dfe6ea}.leave-calendar-weekdays span{background:#f8fafb;padding:8px;text-align:center;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#77848d}.leave-calendar-grid.professional{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:1px;background:#dfe6ea}.leave-calendar-day{min-height:130px;padding:9px;background:#fff;cursor:pointer;outline:none;transition:background .12s,box-shadow .12s}.leave-calendar-day:hover,.leave-calendar-day:focus{background:#f8fcfd;box-shadow:inset 0 0 0 2px rgba(8,127,159,.18)}.leave-calendar-day.outside{background:#f5f7f8;color:#a7b0b7;cursor:default}.leave-calendar-day.selected{box-shadow:inset 0 0 0 2px var(--accent)}.leave-calendar-day.state-approved{background:#f7fcf9}.leave-calendar-day.state-pending_team,.leave-calendar-day.state-pending_hr{background:#fffaf0}.leave-calendar-day.state-mixed{background:#f9f7fd}.calendar-legend .dot.mixed{background:#8469b8}.leave-calendar-day .calendar-events{display:grid;gap:4px;margin-top:7px}.leave-calendar-day .calendar-event{padding:5px 6px;border-radius:6px;border-left:3px solid #d6a43c;background:#fff8e7;font-size:9px}.leave-calendar-day .calendar-event.approved{border-left-color:#4a9d78;background:#eaf7f0}.leave-calendar-day .calendar-event strong,.leave-calendar-day .calendar-event small{display:block}.leave-calendar-day .calendar-event small{margin-top:2px;color:#66747d;font-size:8px}.calendar-more{font-size:8px;color:#65747d}.leave-day-detail{margin-bottom:18px;scroll-margin-top:95px}.leave-day-detail-list{display:grid}.leave-day-detail-row{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:14px;align-items:center;padding:11px 4px;border-top:1px solid #edf0f2}.leave-day-detail-row:first-child{border-top:0}.leave-day-detail-row:hover{background:#fafcfd}.leave-day-detail-row div strong,.leave-day-detail-row div small{display:block}.leave-day-detail-row div small{font-size:9px;color:var(--muted);margin-top:3px}

/* Cleaner sociocracy canvas while preserving the current relationship model */
.sociocracy-canvas-card{border-color:#dce5e9}.circle-graph-wrap{background:linear-gradient(90deg,#fbfcfd 0,#fbfcfd 24.7%,#f7fafb 24.7%,#f7fafb 49.5%,#fbfcfd 49.5%,#fbfcfd 74.5%,#f8fafb 74.5%);min-height:680px}.graph-legend{background:#fff}.graph-legend small{font-size:9.5px}.graph-circle-node rect{filter:drop-shadow(0 2px 4px rgba(20,40,55,.035))}.graph-person-card rect{fill:#fff}.graph-links path{vector-effect:non-scaling-stroke}.sociocracy-inspector{border-top:3px solid var(--accent)}

@media(max-width:1200px){.employee-directory-filters{grid-template-columns:1fr 1fr 1fr}.employee-directory-filters input{grid-column:1/-1}.v45-bulk-days{overflow-x:auto;grid-template-columns:repeat(7,minmax(115px,1fr))}}
@media(max-width:820px){.break-editor-head,.planning-table-toolbar,.planning-action-bar{align-items:flex-start;flex-direction:column}.break-row{grid-template-columns:1fr 1fr}.break-row>span{display:none}.employee-directory-filters{grid-template-columns:1fr}.leave-calendar-grid.professional,.leave-calendar-weekdays{min-width:860px}.leave-calendar-card-v45{overflow-x:auto}.leave-day-detail-row{grid-template-columns:1fr}.planning-action-bar{bottom:8px}.v45-bulk-planner .bulk-title{flex-direction:column}}

/* Organization grouping and membership editing */
.status-swatch.scheduled,.work-day.scheduled,.day-status.scheduled{background:#eef3f6;border-color:#cbd6dc;color:#52636d}.work-day.in_progress,.day-status.in_progress{background:#edf7fb;border-color:#9bc9db;color:#0d617d}.status-swatch.in_progress{background:#8fc7d9}.row-status-scheduled,.row-status-in_progress{background:#fbfcfd}.grouped-operation-table tbody .circle-group-main td{padding:11px 14px;background:#eef4f7;border-top:2px solid #cddbe2;border-bottom:1px solid #dce6eb}.grouped-operation-table tbody .circle-group-main div,.grouped-operation-table tbody .circle-group-sub div{display:flex;align-items:center;justify-content:space-between;gap:12px}.grouped-operation-table tbody .circle-group-main strong{font-size:12px;letter-spacing:.025em;color:#173f52}.grouped-operation-table tbody .circle-group-main span,.grouped-operation-table tbody .circle-group-sub span{font-size:10px;color:var(--muted)}.grouped-operation-table tbody .circle-group-sub td{padding:8px 16px;background:#f8fafb;border-bottom:1px solid #e4ebee}.grouped-operation-table tbody .circle-group-sub b{font-size:11px;color:#53646e}.membership-manager-card .card-head small{display:block;margin-top:4px;color:var(--muted)}.membership-manager-list{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden}.membership-manager-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(240px,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line);background:#fff}.membership-manager-row:last-child{border-bottom:0}.membership-manager-row.primary{background:#f1f9fb}.membership-manager-title b,.membership-manager-title small{display:block}.membership-manager-title small{font-size:10px;color:var(--muted);margin-top:3px}.membership-role-form{display:flex;gap:7px;align-items:center}.membership-role-form select{min-width:160px}.membership-row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.membership-row-actions form{margin:0}.membership-add-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) auto auto;gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.membership-add-form label{margin:0}.membership-primary-check{align-self:center;margin-bottom:9px!important}.circle-create-card{min-width:0}.circle-member-picker{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.circle-member-picker>input{border:0;border-bottom:1px solid var(--line);border-radius:0;width:100%}.circle-member-options{max-height:250px;overflow:auto;padding:5px}.circle-member-options label{display:flex;align-items:center;gap:9px;padding:8px;border-radius:8px;cursor:pointer;margin:0}.circle-member-options label:hover{background:#f5f8fa}.circle-member-options label span,.circle-member-options label b,.circle-member-options label small{display:block}.circle-member-options label small{font-size:9.5px;color:var(--muted);margin-top:2px}.circle-member-row{display:grid;grid-template-columns:minmax(0,1fr) 125px 30px;gap:6px;align-items:center;border-bottom:1px solid #edf0f2}.circle-member-row .person-row-button{border-bottom:0}.circle-member-row select{margin:0;padding:6px 7px;font-size:10px}.inspector-check{margin:8px 0 10px!important}.attendance-future-note{display:flex;align-items:center;gap:8px;margin-top:8px;color:#60717a;font-size:10px}
@media(max-width:900px){.membership-manager-row{grid-template-columns:1fr}.membership-row-actions{justify-content:flex-start}.membership-add-form{grid-template-columns:1fr 1fr}.membership-primary-check{margin-bottom:0!important}}@media(max-width:620px){.membership-add-form{grid-template-columns:1fr}.circle-member-row{grid-template-columns:1fr}.circle-member-row .icon-btn{justify-self:end}}

.membership-primary-hint{font-size:.78rem;color:#7a5a16;background:#fff7df;border:1px solid #ead9a1;border-radius:999px;padding:.32rem .55rem;white-space:nowrap}

/* V5.0 — daily financial control, auditable payroll calendar */
.salary-engine-profile-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:14px}.salary-engine-profile-head h1{font-size:28px;margin:5px 0 4px;letter-spacing:-.035em}.salary-engine-profile-head p{margin:0;color:var(--muted)}.salary-engine-total{min-width:260px;text-align:right;padding:13px 16px;border:1px solid #cfe0e6;border-radius:13px;background:linear-gradient(145deg,#f6fbfc,#fff)}.salary-engine-total span,.salary-engine-total small{display:block}.salary-engine-total span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#667680;font-weight:850}.salary-engine-total strong{display:block;font-size:28px;line-height:1.1;margin:5px 0;color:#123e52;letter-spacing:-.04em}.salary-engine-total small{font-size:9.5px;color:var(--muted)}.salary-period-toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:16px}.salary-period-toolbar form{display:flex;align-items:center;gap:7px}.salary-period-toolbar input[type=month]{border:1px solid #d5dce2;background:#fff;border-radius:8px;padding:8px 10px;font-weight:700}.salary-period-toolbar .salary-back{margin-left:auto}
.financial-engine-card{padding:0;overflow:hidden;margin-bottom:18px}.financial-engine-head{padding:17px 18px 11px;margin:0}.financial-engine-head h2{margin:4px 0 3px}.financial-engine-head small{color:var(--muted)}.financial-summary-strip{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:1px;background:#e2e8eb;border-top:1px solid #e2e8eb;border-bottom:1px solid #e2e8eb}.financial-summary-strip>div{padding:12px 14px;background:#fafcfd;min-width:0}.financial-summary-strip span,.financial-summary-strip strong,.financial-summary-strip small{display:block}.financial-summary-strip span{font-size:8.5px;text-transform:uppercase;letter-spacing:.055em;color:#71808a;font-weight:800}.financial-summary-strip strong{font-size:18px;margin:3px 0;color:#173f52}.financial-summary-strip small{font-size:8.5px;line-height:1.35;color:var(--muted)}.financial-summary-strip .financial-total-box{background:#eff8fa}.financial-summary-strip .financial-total-box strong{font-size:23px}.financial-legend{padding:10px 18px;margin:0!important;border-bottom:1px solid var(--line);background:#fff}.status-swatch.financial-review,.work-day.financial-day.review{background:#fdeceb!important;border-color:#edc0bd}.status-swatch.resolved-issue,.work-day.financial-day.resolved_issue{background:#e4f6ed!important;border-color:#a9d9c0}.mini-problem-dot,.financial-problem-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d94a46;box-shadow:0 0 0 2px rgba(217,74,70,.12)}.mini-problem-dot{margin-left:2px}.financial-calendar{padding:13px 18px 18px}.financial-day{position:relative;min-height:112px}.financial-day .financial-problem-dot{position:absolute;right:7px;bottom:7px}.financial-day-amount,.financial-day-review-text,.financial-day-pending-text{font-size:13px;color:#173f52;margin-top:3px}.financial-day-review-text{color:#9a3f3c}.financial-day-pending-text{color:#54707d}.financial-day.state-review{box-shadow:inset 0 0 0 1px rgba(204,74,67,.06)}.financial-day.state-resolved_issue .day-top span{color:#236b4f}.financial-day.state-setup_required{background:#fff0ee!important}.financial-pending-list{border-top:1px solid var(--line);padding:13px 18px 16px;background:#fffaf9}.financial-pending-list>b{display:block;margin-bottom:7px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#79524f}.financial-pending-list>a{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #f1dfdc}.financial-pending-list>a:first-of-type{border-top:0}.financial-pending-list span{font-weight:800}.financial-pending-list small{color:#6f6665;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.financial-pending-list strong{font-size:9px;color:var(--accent2)}
.financial-day-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:15px}.financial-day-hero.review{background:#fff1ef;border-color:#eabbb7}.financial-day-hero.resolved_issue{background:#eef9f3;border-color:#b6dec8}.financial-day-hero.scheduled,.financial-day-hero.in_progress{background:#f2f7fa}.financial-day-hero h2{margin:4px 0 3px}.financial-day-hero p{margin:0;color:var(--muted)}.financial-day-hero-amount{text-align:right;min-width:210px}.financial-day-hero-amount>span,.financial-day-hero-amount>small{display:block}.financial-day-hero-amount>span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase}.financial-day-hero-amount>strong{display:block;font-size:27px;margin:3px 0;color:#173f52}.financial-day-hero-amount>small{font-size:9px;color:#9a4c47}.financial-problem-dot.static{position:static!important;vertical-align:1px;margin-right:4px}.financial-issue-card{margin-bottom:15px;background:#fffaf7;border-color:#f0d6ca}.financial-issue-card ul{margin:0;padding-left:20px;color:#684e47;line-height:1.6}.financial-components-card{margin:15px 0}.financial-components-table{width:100%;border-collapse:collapse}.financial-components-table th,.financial-components-table td{padding:11px 13px;border-bottom:1px solid #edf0f2;text-align:left}.financial-components-table th{background:#f8fafb;font-size:9px;text-transform:uppercase;color:#77848d}.financial-components-table .tone-missing{background:#fff8f1}.financial-decision-form{border-top:3px solid #0d7f9f;margin-bottom:16px}.financial-edit-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin:12px 0}.financial-edit-grid label{position:relative}.financial-edit-grid input{font-family:Consolas,monospace;font-weight:750}.financial-edit-grid small{position:absolute;right:8px;bottom:8px;font-size:8px;color:#8b969d}.financial-decision-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:12px;border-top:1px solid var(--line)}.financial-decision-actions span{font-size:9.5px;color:var(--muted);max-width:680px}.finalized-decision-card{border-left:4px solid #5fac82;margin-bottom:18px}.finalized-decision-card p{line-height:1.55}.finalized-decision-card>small{display:block;color:var(--muted);margin-bottom:12px}.financial-reason-settings{border-top:3px solid #0d7f9f}.financial-reason-list{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:12px}.financial-reason-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}.financial-reason-row:last-child{border-bottom:0}.financial-reason-row span b,.financial-reason-row span small{display:block}.financial-reason-row span small{font-size:9px;color:var(--muted);margin-top:2px}.financial-reason-row.inactive{background:#f6f7f8;opacity:.7}.financial-reason-add{margin-top:12px}.mini.danger{border-color:#e3b5b2;color:#9f403d;background:#fff6f5}
@media(max-width:1150px){.financial-summary-strip{grid-template-columns:repeat(2,1fr)}.financial-summary-strip .financial-total-box{grid-column:1/-1}.financial-edit-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.salary-engine-profile-head,.financial-day-hero{align-items:flex-start;flex-direction:column}.salary-engine-total,.financial-day-hero-amount{width:100%;text-align:left}.salary-period-toolbar{flex-wrap:wrap}.salary-period-toolbar .salary-back{margin-left:0}.financial-summary-strip{grid-template-columns:1fr}.financial-summary-strip .financial-total-box{grid-column:auto}.financial-edit-grid{grid-template-columns:1fr 1fr}.financial-decision-actions{align-items:flex-start;flex-direction:column}.financial-calendar{overflow:auto}.financial-calendar .calendar-weekdays,.financial-calendar .calendar-week{min-width:720px}.financial-pending-list>a{grid-template-columns:1fr}.financial-pending-list small{white-space:normal}}
.financial-component-chips{display:flex;gap:7px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--line);background:#f8fafb}.financial-component-chips span{display:flex;align-items:center;gap:6px;border:1px solid #dfe6ea;background:#fff;border-radius:999px;padding:6px 9px;font-size:9px;color:#5f6f79}.financial-component-chips b{color:#263f4c;font-size:9px}

/* V5.1 notifications, linked HR financial decision and makeup workflow */
.notification-bell{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}.notification-bell:hover{border-color:var(--accent);transform:translateY(-1px)}.notification-bell-icon{font-size:18px;line-height:1}.notification-bell b{position:absolute;right:-6px;top:-7px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#ff6b35;color:#fff;font-size:10px;border:2px solid #fff}.notification-center{padding:0;overflow:hidden}.notification-list{display:flex;flex-direction:column}.notification-row{display:grid;grid-template-columns:12px 1fr auto;gap:14px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;background:#fff}.notification-row:last-child{border-bottom:0}.notification-row:hover{background:#f8fbfc}.notification-row.unread{background:#f0f9fc}.notification-row p{margin:5px 0;color:var(--muted);line-height:1.45}.notification-row small{color:var(--muted)}.notification-status-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#c8d3d8}.notification-row.unread .notification-status-dot{background:#ff6b35;box-shadow:0 0 0 4px rgba(255,107,53,.13)}.notification-row-arrow{color:var(--accent);font-weight:800}.notification-detail-card{max-width:850px;padding:28px}.notification-detail-card p{white-space:pre-wrap;line-height:1.7;font-size:15px;margin:0 0 24px}.employee-head-actions{display:flex;gap:9px;flex-wrap:wrap}
.linked-financial-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.linked-financial-table{min-width:820px;margin:0}.linked-financial-table th{background:#f4f8fa}.linked-financial-table td{vertical-align:middle}.linked-financial-table td:first-child{min-width:245px}.linked-financial-table td:first-child b,.linked-financial-table td:first-child small{display:block}.linked-financial-table td:first-child small{margin-top:3px;color:var(--muted)}.linked-financial-table tr.locked{background:#f8fafb}.linked-financial-table tr.tone-missing{background:#fff7f2}.linked-financial-table tr.special-leave-row{background:#f5fbff}.linked-financial-table tr.result-row{background:#f3faf7}.linked-time-input{width:118px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;text-align:center}.linked-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef5f7;color:#35606d;font-size:11px;font-weight:800}.linked-status.neutral{background:#f0f2f3;color:#6c7780}.linked-status.danger{background:#fff0eb;color:#b54320}.linked-status.success{background:#e8f7ef;color:#126b50}.special-leave-options{display:flex;gap:6px;flex-wrap:wrap}.special-leave-options label{display:flex!important;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#fff;font-size:12px;font-weight:800;cursor:pointer}.special-leave-options label.paid:has(input:checked){background:#e8f7ef;border-color:#9bd7b9;color:#126b50}.special-leave-options label.unpaid:has(input:checked){background:#fff3dc;border-color:#efc978;color:#8d6013}.decision-explainer{margin:14px 0;padding:12px 14px;border-radius:12px;background:#eef7fa;color:#315e6c;font-size:12px;line-height:1.55}.special-leave-summary{border-left:4px solid #ff6b35}.special-leave-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.special-leave-summary-grid>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafcfd}.special-leave-summary-grid span,.makeup-status-strip span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.intervention-marker{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#9e4429}.hr-intervention-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e64d2e;box-shadow:0 0 0 2px rgba(230,77,46,.13);vertical-align:middle;margin-left:4px}.calendar-event.hr-intervention{position:relative}.makeup-source-card{border-top:3px solid #d69b2d}.makeup-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.makeup-status-strip>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fafcfd}.makeup-status-strip.completed>div{background:#f2fbf6}.makeup-create-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.compensation-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.compensation-flow .card{min-height:170px}.compensation-flow progress{width:100%;margin:14px 0}.status-callout{display:flex;flex-direction:column;gap:4px;padding:16px}.status-callout.success{background:#edf9f3;border-color:#b8e2ce}.makeup-dashboard-card{margin-bottom:18px;border-left:4px solid #d69b2d}.makeup-dashboard-list{display:grid;gap:8px}.makeup-dashboard-list>a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none;background:#fff}.makeup-dashboard-list>a:hover{border-color:#c0d9e0;background:#f8fbfc}.makeup-dashboard-list b,.makeup-dashboard-list small{display:block}.makeup-dashboard-list small{color:var(--muted);margin-top:3px}.makeup-dashboard-list>a>span{font-size:11px;color:var(--muted);white-space:nowrap}
@media(max-width:900px){.special-leave-summary-grid,.makeup-status-strip,.compensation-flow{grid-template-columns:1fr}.makeup-create-form{grid-template-columns:1fr}.notification-bell{width:36px;height:36px}.employee-head-actions{width:100%}}

/* V5.2 · finance, feedback and useful-document refinements */
.tone-overtime{background:#f2f8ff}.overtime-request-context td{background:#fbfdff}.overtime-request-context .badge{margin:0 6px 6px 0}.linked-status.success{background:#e9f8f0;color:#14734b}.linked-status.danger{background:#fff0ed;color:#a13b2b}
.makeup-minimum-callout{display:grid;grid-template-columns:auto auto 1fr;gap:10px 16px;align-items:center;padding:14px 16px;border:1px solid #b9dfea;background:#f1fbfe;border-radius:14px}.makeup-minimum-callout span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#52707a}.makeup-minimum-callout strong{font-size:22px}.makeup-minimum-callout small{color:#5d7078}.checkbox-line{display:flex!important;align-items:flex-start;gap:9px;font-weight:600}.checkbox-line input{width:auto!important;margin-top:3px}.warning-text{color:#9a5d09!important}
.segmented-tabs.notification-tabs{display:flex;gap:8px;margin:0 0 18px}.segmented-tabs.notification-tabs a{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #d5e0e5;border-radius:999px;background:#fff;text-decoration:none;color:#2a3b43;font-weight:700}.segmented-tabs.notification-tabs a.active{background:#0e819f;color:#fff;border-color:#0e819f}.segmented-tabs.notification-tabs b{min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ff6c37;color:#fff;font-size:11px}
.feedback-center-grid{align-items:start}.feedback-moderation-note{padding:12px 14px;border-radius:12px;background:#f3f8fa;color:#4c646e;font-size:13px}.feedback-thread-list{display:grid;gap:8px}.feedback-thread-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid #e0e8ec;border-radius:13px;text-decoration:none;color:inherit;background:#fff}.feedback-thread-row:hover{border-color:#72bdd0;box-shadow:0 8px 24px rgba(20,75,90,.08)}.feedback-thread-row div{display:grid;gap:4px}.feedback-thread-row small{color:#657982}.moderation-queue-link{display:flex;justify-content:space-between;gap:20px;align-items:center}
.feedback-conversation{display:grid;gap:16px;background:#f6f9fa}.feedback-message{max-width:82%;padding:16px 18px;border:1px solid #dce6ea;border-radius:18px;background:#fff}.feedback-message.mine{margin-left:auto;border-color:#b8dae4;background:#eff9fc}.feedback-message.pending{border-style:dashed}.feedback-message.rejected{background:#fff6f4;border-color:#edc7bd}.feedback-message-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:10px}.feedback-message-head div{display:grid;gap:2px}.feedback-message p{white-space:pre-wrap;line-height:1.55}.attachment-chip{display:inline-flex;margin-top:10px;padding:8px 11px;border-radius:10px;background:#eef4f7;text-decoration:none;color:#245767;font-weight:700;font-size:13px}.moderation-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff3d7;color:#785317}.feedback-moderation-form{margin-top:14px;padding-top:14px;border-top:1px solid #e4ecef}.feedback-reply-card{margin-top:16px}
.book-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:26px;align-items:start}.book-card{min-width:0}.book-cover{display:block;aspect-ratio:3/4;border-radius:8px 14px 14px 8px;overflow:hidden;background:#dbe5e9;box-shadow:0 13px 28px rgba(20,43,53,.18),inset 4px 0 0 rgba(0,0,0,.08);transition:transform .18s ease,box-shadow .18s ease}.book-cover:hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(20,43,53,.23),inset 4px 0 0 rgba(0,0,0,.08)}.book-cover img{width:100%;height:100%;object-fit:cover;display:block}.book-card-copy{padding:14px 4px 0}.book-card-copy h2{font-size:18px;line-height:1.25;margin:0 0 7px}.book-card-copy p{color:#657781;font-size:13px;line-height:1.45;min-height:38px}.book-card-copy small{display:block;color:#7a8b92;margin:8px 0 12px}.book-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.book-card-actions form{margin:0}.useful-document-upload{margin-bottom:26px}.useful-document-upload summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer}.useful-document-upload form{margin-top:18px}.library-empty{grid-column:1/-1;min-height:220px}
@media(max-width:760px){.makeup-minimum-callout{grid-template-columns:1fr}.feedback-message{max-width:100%}.book-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.useful-document-upload summary{display:grid}.moderation-queue-link{display:grid}}
.missing-action-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:14px 0;padding:14px 16px;border:1px solid #ecd69f;background:#fff9e9;border-radius:13px}.missing-action-panel>div:first-child{display:grid;gap:4px}.missing-action-panel small{color:#73684f;max-width:720px}
.status-swatch.makeup-pending,.work-day.financial-day.makeup_pending{background:#fff3d7!important;border-color:#e9c46f}.financial-day.state-makeup_pending .day-top span{color:#98630c}
