:root{font-family:Arial,Helvetica,sans-serif;color:#182638;background:#f1f3f6;line-height:1.5}*{box-sizing:border-box}body{margin:0}.top{height:66px;background:#21262f;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 26px;gap:12px}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.brand span{color:#e0243d;font-size:23px;letter-spacing:.3px}.brand small{color:#f4f4f4;font-size:10px}.brand b{font-size:13px;color:#c4cad2}.environment{border:1px solid #7d8c9c;background:#343c47;border-radius:6px;padding:6px 10px;font-size:11px;letter-spacing:.05em}.layout{display:flex;min-height:calc(100vh - 66px)}.sidebar{background:#353c47;width:225px;padding:28px 12px;flex-shrink:0}.sidebar-title{color:#aeb9c8;font-size:11px;font-weight:800;letter-spacing:.09em;margin:0 10px 22px}.nav-item{display:block;color:white;text-decoration:none;padding:12px 14px;margin-bottom:7px;font-size:13px;font-weight:700;border-radius:8px}.nav-item:hover{background:#454e5b}.nav-item.active{background:#cc2037}.main{padding:35px 35px 25px;max-width:1120px;width:100%}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:#6d8198}h1{font-size:26px;margin:6px 0;color:#152338}.intro{font-size:15px;color:#556479;margin:0 0 24px}.panel{border:1px solid #cdd6e1;background:white;border-radius:12px;overflow:hidden}.panel-title{background:#353c47;color:white;padding:14px 18px;font-size:12px;font-weight:800}.panel-body{padding:25px}.status{display:flex;align-items:center;gap:10px;font-size:19px}.dot{width:12px;height:12px;border-radius:50%;background:#1dab76}.panel-body p{color:#54637a}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:25px}.facts>div{border:1px solid #e2e8ef;border-radius:8px;padding:16px;background:#f9fafc;display:flex;justify-content:space-between;gap:12px}.facts span{color:#627188}.facts strong{color:#18314f}.warning{background:#fff9e6;border:1px solid #e7c66b;border-radius:10px;padding:18px;color:#564510;margin-top:19px;font-size:13px}footer{padding:26px 0;font-size:12px;color:#8694a4}@media(max-width:780px){.top{height:auto;min-height:64px;flex-wrap:wrap;padding:10px}.brand span{font-size:19px}.brand b{font-size:11px}.environment{font-size:9px}.layout{display:block}.sidebar{width:100%;padding:10px;display:flex;gap:7px;overflow-x:auto}.sidebar-title{display:none}.nav-item{white-space:nowrap;margin:0;padding:9px;font-size:11px}.main{padding:20px 12px}.facts{grid-template-columns:1fr}.facts>div{flex-wrap:wrap}h1{font-size:22px}}
/* Web guvenlik temeli ekranlari -- eski konsan renkleri korunuyor. */
.right-tools{display:flex;gap:10px;align-items:center;font-size:12px;color:#dae0e7}.quiet{border:1px solid #bdc7d2;color:#182d45;border-radius:5px;padding:6px 10px;cursor:pointer;background:#fff;font-weight:700}.auth-main{min-height:calc(100vh - 66px);display:grid;place-items:center;padding:24px;background:#edf1f5}.auth-box{width:min(480px,100%);background:white;border:1px solid #bdc9d6;border-radius:12px;overflow:hidden;box-shadow:0 13px 38px #14253a1f}.auth-box h1{font-size:24px}.auth-box label{display:block;font-size:12px;font-weight:800;color:#3f5269;margin:17px 0}.auth-box input{display:block;width:100%;margin-top:7px;padding:13px;border-radius:6px;border:1px solid #acbed1;font-size:15px;background:#fff}.action{display:block;width:100%;border:0;border-radius:6px;padding:13px 18px;background:#cb233b;color:white;font-weight:800;cursor:pointer;margin-top:18px}.action:hover{background:#ad1f33}#notice{position:fixed;right:12px;bottom:15px;z-index:30;max-width:380px;font-weight:600;padding:12px;border-radius:8px;display:none}#notice.bad{display:block;background:#fff2f2;color:#9a1528;border:1px solid #e5a0a6}#notice.good{display:block;background:#e8fff1;color:#085b31;border:1px solid #9bdfb6}table{width:100%;border-collapse:collapse}th{background:#303c4b;color:white;text-align:left}td,th{border:1px solid #d9e0e8;padding:11px;font-size:12px}.table-scroll{overflow-x:auto}.facts a{padding:17px;border:1px solid #d2dce6;background:#f8fafc;color:#192b42;text-decoration:none;font-weight:bold;border-radius:6px}.facts a:hover{border-color:#b5243b}@media(max-width:780px){.right-tools{flex-wrap:wrap}.auth-main{padding:16px}.auth-box .panel-body{padding:18px}}
/* KONSAN v0.4.0: Personnel cards / list / 30-day base-pay preview */
.main{max-width:none;padding:26px 26px 40px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px}.page-head h1{margin:8px 0 3px}.fitted{width:auto!important;display:inline-block!important;margin:0!important}.btn{border:1px solid #b7c7d7;padding:11px 15px;background:#fff;border-radius:7px;font-size:12px;font-weight:800;color:#273b52;text-decoration:none;cursor:pointer;display:inline-block}.btn:hover{border-color:#cb233b}.btn.danger{color:#a11b2b;border-color:#efb5be}.btn.primary{background:#cc233a;color:white;border-color:#cc233a}.btn:disabled{opacity:.5;cursor:not-allowed}.filter-row{display:flex;align-items:center;gap:12px;padding:15px 18px;flex-wrap:wrap}.filter-row input{padding:10px 12px;border:1px solid #c0cddd;border-radius:6px;max-width:310px;width:100%;background:white}.personnel-table{width:100%;border-collapse:collapse;min-width:740px}.personnel-table td,.personnel-table th{font-size:12px;padding:13px;border-color:#d6dee8}.personnel-table td a{font-weight:800;color:#273a51}.pill{display:inline-block;border-radius:5px;font-weight:800;font-size:11px;padding:5px 8px}.pill.active{color:#08734d;background:#e3f7ed;border:1px solid #9bd8ba}.pill.scheduled{color:#8f5b07;background:#fff4d9;border:1px solid #ebd184}.pill.left{color:#9d2738;background:#ffecf0;border:1px solid #e7bac1}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:18px 0}.metric-card{background:white;border:1px solid #ccd7e4;border-radius:9px;padding:16px}.metric-card small{display:block;color:#526b85;font-size:11px;font-weight:800}.metric-card strong{font-size:23px;display:block;margin-top:7px}.metric-card:last-child{background:#222832;color:white}.profile-info{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:20px}.profile-info div{background:#f8fafc;border:1px solid #e3e9f1;border-radius:8px;padding:10px}.profile-info b{font-size:12px;display:block;margin-top:4px}.profile-info small{color:#687b93;font-size:11px}.payroll-choice{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.payroll-choice input{padding:10px;border:1px solid #bdc9d8;border-radius:6px;background:white;font:inherit}.overlay{position:fixed;inset:0;background:#1a263b9e;z-index:90;display:flex;align-items:center;justify-content:center;padding:15px;overflow:auto}.dialog{background:white;max-width:850px;width:100%;border-radius:12px;overflow:hidden;box-shadow:0 24px 65px #0003}.dialog-header{background:#323b47;color:white;padding:22px 24px;display:flex;align-items:center;justify-content:space-between}.dialog-header h2{margin:0;font-size:20px}.dialog-header button{background:#fff;border:1px solid #bac8d7;border-radius:5px;padding:8px 12px;cursor:pointer}.dialog-content{padding:22px 24px}.dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dialog-fields label{color:#526a83;font-size:12px;font-weight:800;display:block}.dialog-fields input,.dialog-fields textarea{display:block;width:100%;font:inherit;margin-top:5px;padding:11px;border:1px solid #b4c5d8;border-radius:6px;background:white;color:#182638}.dialog-fields textarea{min-height:80px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;background:#f6f8fa;border-top:1px solid #e3e9f1;padding:14px 20px}.debug-note{font-size:12px;color:#a36a18}.mark-placeholder{border:1px dashed #c7d5e1;background:#fbfcfd;color:#687b8f;border-radius:8px;padding:18px;margin-top:17px}.nav-item[href='/is-takibi'],.nav-item[href='/stok']{opacity:.65}
@media(max-width:900px){.profile-info{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start}.dialog-fields{grid-template-columns:1fr}}@media(max-width:640px){.profile-info,.metrics{grid-template-columns:1fr}.main{padding:17px 12px}.page-head{flex-wrap:wrap}.dialog-content{padding:15px}.dialog-header{padding:15px}}

/* --- KONSAN 1.1.0 tasarım diline dönüş: 0.5.0 --- */
:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#1d2b3d;background:#f1f3f6;font-size:13px}
body{background:#f1f3f6;color:#1d2b3d}
.top{height:61px;background:#20252d;padding:0 20px;box-shadow:0 1px 0 #ffffff15}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand .logo-main{font-size:20px;font-weight:900;line-height:1;color:#d8233d;letter-spacing:-.7px;position:relative;padding-bottom:10px}
.brand .logo-sub{display:block;font-size:8px;color:#e5e9ed;position:absolute;right:1px;bottom:0;letter-spacing:2px}
.brand .app-name{font-size:13px;color:#c9ced6;letter-spacing:0}
.brand .app-version{font-size:12px}
.right-tools{font-size:12px;gap:10px}.logged-user{font-weight:600;color:#c9cfd7}
.environment{font-size:10px;background:#2d3440;letter-spacing:0}
.layout{min-height:calc(100vh - 61px)}.sidebar{width:215px;background:#333b46;padding:25px 8px;box-shadow:inset -1px 0 #2d3540}
.sidebar-title{margin:0 11px 14px;font-size:11px;color:#afbdcb}.nav-item{padding:15px 15px;margin:5px 0;font-size:12px;border-radius:6px;display:flex;align-items:center;gap:12px;min-height:47px}
.nav-icon{font-size:17px;min-width:17px;text-align:center;line-height:1}.nav-item.active{background:#d0223b;box-shadow:0 2px 5px #0002}
.nav-section-extra{font-size:10px;color:#aeb9c5;letter-spacing:1px;font-weight:800;margin:27px 11px 13px}.nav-pending{opacity:.6;font-size:11px}.nav-pending small{margin-left:auto;font-size:8px}
.main{max-width:none;padding:25px 23px 70px}.page-head{margin-bottom:17px}.page-head h1,h1{font-size:24px;letter-spacing:-.3px;font-weight:850;color:#192a3e;margin:0 0 5px}
.intro{margin:0;color:#657b97;font-size:12px}.panel{border-radius:8px;border:1px solid #c4d0dd;box-shadow:none}.panel-title{background:#333d4b;color:#fff;padding:14px 15px;min-height:43px;font-weight:850}
.panel-body{padding:16px}.btn,.quiet{background:white;border:1px solid #afc3d9;color:#243a52;font-size:12px;font-weight:800;border-radius:6px;min-height:40px;padding:10px 14px}
.btn.primary,.action{background:#d02139;color:#fff;border-color:#d02139;font-size:12px;font-weight:850;border-radius:6px}.btn.primary:hover,.action:hover{background:#b71d32}
.action.fitted{margin:0;min-height:42px}.table-scroll{overflow-x:auto}.personnel-table{min-width:920px}.personnel-table th,.pay-summary-table th{background:#323c4b;color:#fff;font-size:11px;padding:15px 13px;border-right:1px solid #647286}
.personnel-table td,.pay-summary-table td{background:white;padding:13px;border-right:1px solid #ccd7e4;border-bottom:1px solid #d2dce7;color:#1e2a3a;font-size:12px}
.personnel-table tr:nth-child(even) td,.pay-summary-table tr:nth-child(even) td{background:#fbfcfd}
.personnel-table td a{color:#fff}.personnel-table td b{color:#34495d}.pill{font-weight:850;padding:4px 9px}
.filter-row{padding:12px 0 13px;gap:10px}.filter-row input{max-width:280px}.filter-row select,.period-chooser select{background:white;border:1px solid #b5c7d9;border-radius:5px;padding:10px;color:#1e3144;min-height:40px;max-width:160px}
.count-chip{padding:7px 11px;color:#26435f;border:1px solid #bed0e4;background:#f8fbff;border-radius:6px;font-size:11px;font-weight:800}
.head-actions{display:flex;gap:10px;align-items:center}.dashboard-head{align-items:flex-start}.period-chooser{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.period-chooser label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:850;color:#516680}.dashboard-cards{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));gap:10px}
.stat{min-height:92px;padding:16px 13px;border-radius:8px}.stat .st{font-size:10px;color:#5a7190;margin-bottom:10px}.stat .sv{font-size:22px}.stat.dark{background:#222730;border-color:#222730}.stat.dark .st{color:#aebed3}
.section-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:14px;margin-top:15px}
.pay-summary-table{width:100%;border-collapse:collapse;min-width:650px}.pay-summary-table td a{color:#1d587f;text-decoration:none;font-weight:800}
.reminders{line-height:1.9;color:#506987;font-size:12px}.subtle-note{border:1px solid #d4deea;background:#f4f7fa;border-radius:5px;padding:12px;font-size:11px;color:#627790;margin-top:15px}
.warning{background:#fff8e8;border:1px solid #eccb84;font-size:11px;color:#765018;padding:12px 14px;border-radius:6px}
.person-page-head .person-identity{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.person-page-head .person-identity h1{margin:0 0 4px}.person-content{min-width:0}
.profile-overview{display:flex;align-items:center;gap:12px;margin:5px 0 16px}.profile-overview h2{font-size:21px;margin:0}
.profile-overview small{color:#6a8097}.monthly-summary{display:grid;grid-template-columns:repeat(6,minmax(112px,1fr));gap:10px;margin:17px 0}
.monthly-summary .metric-card{min-height:98px;padding:17px 13px;border-radius:7px}.monthly-summary .metric-card small{font-size:10px}.monthly-summary .metric-card strong{font-size:20px;margin-top:10px}
.monthly-summary .metric-card:last-child{background:#222730;color:white;border-color:#222730}
.monthly-title{font-weight:850;font-size:21px;margin:20px 0 15px}.monthbar{position:static;margin-top:19px;background:#323b47;padding:10px;border-radius:8px;display:flex;gap:5px;overflow-x:auto;flex-wrap:nowrap}.monthbar span{font-weight:800;color:#e1e8f1;align-self:center;margin:0 8px;font-size:11px}.monthbar button{border:1px solid #516176;color:#fff;background:#263f54;padding:12px 4px;flex:1;min-width:60px;border-radius:5px;cursor:pointer;font-size:10px;font-weight:850}
.monthbar button.active{background:#d02139;border-color:#d02139;color:#fff}.monthly-entries{border:1px solid #c5d0dd;border-radius:8px;background:white;overflow:hidden}.monthly-entries .panel-title{display:flex;justify-content:space-between}.monthly-entries table{width:100%;min-width:650px}.monthly-entries tbody td{height:53px;text-align:center;color:#8797aa}.monthly-entry-footer{padding:15px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.yearly-leave-bar{border-radius:7px;background:#343e4b;color:white;padding:13px 16px;margin-top:16px;font-weight:800}
.monthly-entries button:disabled{opacity:.55}.person-profile-details{padding:10px 15px 20px}.profile-info{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0}.profile-info div{background:#f9fbfc}.profile-info small{font-size:10px}
.settings-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.settings-tile{border:1px solid #becbd9;background:#fff;border-radius:9px;min-height:82px;display:flex;flex-direction:column;justify-content:center;padding:14px 18px;text-decoration:none;color:#20324b;font-size:13px}.settings-tile small{color:#5c7594;margin-top:6px}.settings-tile:hover:not(.disabled-tile){border-color:#bd2a45;background:#fffcfd}.disabled-tile{cursor:default}.settings-secondary{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dialog{max-width:850px}.dialog-header{background:#343e4b}.dialog-fields label{font-size:11px}.dialog-fields input,.dialog-fields textarea{border-radius:5px}.dialog-footer{background:#f8fafc}
@media(max-width:1350px){.dashboard-cards,.monthly-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.section-grid{grid-template-columns:1fr}.settings-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.top{padding:8px 12px;min-height:64px;height:auto}.brand .logo-main{font-size:18px}.brand .app-name{font-size:11px}.sidebar{width:100%;padding:8px 12px;display:flex;gap:6px;overflow-x:auto;flex-shrink:1}.sidebar-title,.nav-section-extra{display:none}.nav-item{white-space:nowrap;min-height:39px;padding:10px 12px;margin:0;font-size:11px}.nav-pending small{display:none}.main{padding:17px 12px 50px}.dashboard-cards,.monthly-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-cards,.settings-secondary{grid-template-columns:1fr}.period-chooser{width:100%}.person-page-head .person-identity{flex-direction:column;align-items:flex-start}.profile-info{grid-template-columns:repeat(2,minmax(0,1fr))}.monthbar{overflow-x:auto}.monthbar button{min-width:76px}}
@media(max-width:480px){.dashboard-cards,.monthly-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.stat .sv,.monthly-summary .metric-card strong{font-size:17px}.right-tools{font-size:10px}.environment{display:none}.brand .app-name{max-width:165px}.period-chooser label{flex:1}.period-chooser select{width:100%}}
/* 0.6.0 transaction dialog shares 1.1.0 visual layout */
.tx-label{color:#526881;font-size:12px;font-weight:850;margin:0 0 8px}.tx-type-row{display:flex;gap:7px;flex-wrap:wrap;background:#f5f7fa;border:1px solid #b6c7da;border-radius:7px;padding:11px;margin-bottom:17px}.tx-type{background:#fff;border:1px solid #b3c7da;border-radius:5px;color:#264057;font-weight:800;font-size:12px;min-height:41px;padding:9px 12px;cursor:pointer}.tx-type.selected{border:2px solid #17846a;background:#fff;color:#127157}.tx-fields{padding-bottom:16px;border-bottom:1px solid #e0e7ef;margin-bottom:15px}.tx-shared{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tx-shared label{color:#526a83;font-size:12px;font-weight:800}.tx-shared input,.tx-shared textarea,.tx-fields select{display:block;width:100%;font:inherit;border:1px solid #b4c5d8;border-radius:6px;background:white;color:#182638;padding:10px;margin-top:6px}.tx-shared textarea{min-height:75px}.tx-fields .read-only,.tx-shared .read-only{background:#e3ebf3;color:#28425b;cursor:default}.tx-hint{grid-column:span 2;background:#f4f7fa;border:1px solid #d4deeb;border-radius:6px;padding:12px;color:#667d98;font-size:12px}.entry-note{margin-top:7px;color:#788b9c;font-size:11px;font-weight:400;white-space:pre-wrap}.tx-error{color:#c2243b;font-weight:750;min-height:17px}.tx-void{border-color:#d4b4ba;color:#b02f45}.monthly-entries td{text-align:left!important;padding:10px!important}.monthly-entries td:last-child{text-align:center!important}.monthly-entries td .btn{min-height:31px;padding:7px 10px}.monthly-entries td:nth-child(2){min-width:155px}
@media(max-width:640px){.tx-shared{grid-template-columns:1fr}.tx-type{flex:1 1 28%}.tx-fields{grid-template-columns:1fr}.tx-hint{grid-column:span 1}}
/* KONSAN role, person, salary and theme controls; responsive business layout */
:root{--k-header:#22262d;--k-nav:#343b45;--k-accent:#cf2535;--k-background:#f1f3f6;--k-surface:#fff;--k-text:#222d38;--k-border:#cbd4dd}
body{background:var(--k-background);color:var(--k-text)}.top{background:var(--k-header)}.sidebar,.panel-title,.monthbar,.yearly-leave-bar{background:var(--k-nav)}
.nav-item.active,.btn.primary,.action,.monthbar button.active{background:var(--k-accent);border-color:var(--k-accent)}
.panel,.metric-card,.stat{background:var(--k-surface);border-color:var(--k-border)}.company-logo{max-width:185px;max-height:42px;object-fit:contain}
.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:end;margin:14px 0 24px}
.admin-form>label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:#455d76}
.admin-form input:not([type=checkbox]),.admin-form select{padding:11px;border:1px solid #b8c9db;border-radius:6px;width:100%;min-width:0;font-size:14px;color:#16293c;background:#fff}
.admin-form fieldset{grid-column:1/-1;border:1px solid #cbd8e4;border-radius:8px;padding:12px}.admin-form legend{font-size:12px;font-weight:800;color:#536a81}
.role-option,.perm-row{display:inline-flex;align-items:center;gap:7px;margin:5px 16px 7px 0;white-space:normal;color:#2c4054;font-size:13px}
.admin-form .btn{justify-self:start}.theme-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.theme-grid label{font-size:12px;font-weight:750;display:flex;flex-direction:column;gap:7px}.theme-grid input{height:45px}
#company-settings-panel .panel{margin:15px 0}.leave-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:13px 0}.leave-info{background:#fff;color:#25384b;padding:15px;border-radius:6px;font-weight:400}.leave-info p{font-size:12px;color:#68788c}
.export-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.tx-edit{color:#1a5579!important;border-color:#adc7db!important;margin-right:7px}
@media(max-width:780px){.admin-form,.theme-grid{grid-template-columns:1fr 1fr}.leave-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.admin-form,.theme-grid{grid-template-columns:1fr}.admin-form fieldset{grid-column:1}.company-logo{max-width:110px}.tx-edit{margin-bottom:6px}}
@media print{
 .top,.sidebar,.head-actions,.monthbar,.person-page-head .btn,.monthly-entry-footer,.environment,.yearly-leave-bar summary,.warning,#notice{display:none!important}
 body,.main,.layout{background:#fff!important;color:#111!important;box-shadow:none!important;width:100%!important;min-height:0!important;padding:0!important}
 .monthly-summary{grid-template-columns:repeat(3,1fr)!important}.monthly-entries{break-inside:avoid}.metric-card{border:1px solid #ccc!important;min-height:80px!important}
 .monthly-entries td button{display:none!important}.main{margin:0!important}h1{font-size:18px}
}
@media(min-width:1100px){.main{padding:30px 28px 60px}.stat{min-height:105px}.monthly-summary .metric-card{min-height:109px}}
.btn,.action,.nav-item,.metric-card strong,.stat .sv{transition:background-color .14s,border-color .14s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #79a8e0;outline-offset:2px}
.table-scroll th{white-space:nowrap}.table-scroll td{vertical-align:middle}

/* 0.8.0 raporlar ve yazdırma düzeni */
.report-progress{width:100%;max-width:290px;height:15px;accent-color:#b72542}.salary-history{margin-top:18px}.salary-history .admin-form{margin-top:18px}.head-actions select{min-height:37px;padding:8px;border:1px solid #b6c5d5;border-radius:6px;background:white}.report-progress::-webkit-progress-bar{background:#e6ecf2;border-radius:6px}.report-progress::-webkit-progress-value{background:#b72542;border-radius:6px}
@media print{.sidebar,.top .right-tools,.monthbar,.monthly-entry-footer,.dialog-footer,.person-page-head .btn,.head-actions,.btn,.warning,.nav-section-extra{display:none!important}.top{background:#fff!important;color:#000!important}.brand .app-name{color:#000!important}.layout{display:block!important}.main{padding:0!important}.monthly-summary{page-break-inside:avoid}.monthly-entries,.panel,.salary-history{break-inside:avoid}.table-scroll{overflow:visible!important}tr{break-inside:avoid}body{background:white!important;color:#000!important}}
/* KONSAN 0.9.0 — consistent enterprise interface, readable typography */
:root{--k-header:#202833;--k-nav:#273342;--k-accent:#cc173c;--k-background:#f3f5f8;--k-surface:#fff;--k-text:#243449;--k-border:#d5dee8}
html{font-size:15px}body{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.48;letter-spacing:0;color:var(--k-text)}
.main{padding:28px 32px 60px}.top{min-height:66px}.brand .app-name{font-weight:750;letter-spacing:.02em}.nav-item{font-weight:650}
h1{font-size:26px;letter-spacing:-.55px}h2{letter-spacing:-.3px}.page-head{margin-bottom:20px;flex-wrap:wrap;align-items:flex-start}
.btn,.action{font-family:inherit;font-size:12px;letter-spacing:.01em;border-radius:8px;font-weight:700;min-height:39px}
.btn:hover,.tx-type:hover{filter:brightness(.96)}.btn.primary:hover{filter:brightness(1.07)}
.stat,.metric-card,.panel,.settings-tile{border-radius:12px;box-shadow:0 2px 12px #1b30430a}
.stat.dark .sv,.stat.dark .st,.metric-card:last-child strong,.metric-card:last-child small{color:#fff!important;opacity:1}
.table-scroll th{font-size:11px;letter-spacing:.025em;background:#334354}.table-scroll td{font-size:13px;color:#334155}.table-scroll tr:hover td{background:#f8fafc}
.dialog{max-height:min(92vh,950px);overflow-y:auto;border-radius:15px}.dialog-header{padding:19px 24px}.dialog-header h2{font-size:20px;font-weight:800}.dialog-content{padding:25px}
.dialog-fields label,.tx-shared label,.tx-label,.admin-form>label{font-size:12px;letter-spacing:.015em;font-weight:730}
.dialog-fields input,.dialog-fields select,.dialog-fields textarea,.tx-shared input,.tx-shared textarea,.admin-form input:not([type=checkbox]),.admin-form select{font-family:inherit;font-size:14px;min-height:43px;color:#1f3044;background:#fff}
.dialog-fields input:focus,.admin-form input:focus,.dialog-fields select:focus{border-color:#a42442;box-shadow:0 0 0 3px #cc173c20;outline:0}
.dialog-fields label:has(input[readonly]) input{background:#eff3f7}.dialog-content .debug-note{color:#718097}
.person-page-head{display:flex;align-items:center;gap:13px;justify-content:space-between}.person-page-head .person-identity{flex:1 1 360px}.person-page-head .person-actions{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.monthbar{margin:22px 0 18px;background:#eef1f5;border:1px solid #dbe3ed;gap:6px;padding:9px}.monthbar span{color:#44546a}.monthbar button{background:#fff;color:#42546b;border-color:#d6dfe9;font-size:11px}.monthbar button.active{background:var(--k-accent);color:#fff}.monthbar button:hover:not(.active){background:#e8eef6}
.monthly-entries tbody td{color:#354458}.salary-history{margin-top:17px}.panel+ .panel{margin-top:15px}.monthbar+.panel{margin-top:18px!important}
.ui-confirm{max-width:510px}.ui-confirm .dialog-content p{font-size:15px}.ui-confirm .dialog-content input{display:block;width:100%;margin-top:10px;padding:10px;border:1px solid #b8c6d9;border-radius:8px}.ui-confirm .btn.danger{background:#c91d3c;color:#fff}
.modal-card{background:#fff;border:1px solid #e0e5ed;padding:18px;border-radius:10px}.modal-section{padding:12px;border:1px solid #d9e2eb;border-radius:9px}.modal-section>summary{cursor:pointer;font-size:14px;font-weight:800;color:#26374a}.modal-section .perm-row{display:flex;margin:11px 0;gap:10px}
#rate-modal .dialog{max-width:780px}.role-titles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#extract-paper{background:#fff;color:#203047;max-width:210mm;margin:auto;padding:15mm;border:1px solid #d9e2eb;box-shadow:0 10px 38px #1c2b3820;font-size:12px}
#extract-paper table{border-collapse:collapse;width:100%}#extract-paper th{background:#2c394b;color:#fff;text-align:left}#extract-paper td,#extract-paper th{border-bottom:1px solid #dce4ee;padding:8px 6px}
#extract-paper .statement-total{display:flex;justify-content:space-between;border-top:2px solid #26374a;margin-top:12px;padding-top:12px;font-size:16px;font-weight:800}
@media(max-width:800px){.main{padding:18px 12px}.person-page-head .person-actions{justify-content:flex-start}.dialog-fields,.tx-shared,.role-titles{grid-template-columns:1fr}.dialog-content{padding:17px}}
@media print{@page{size:A4;margin:12mm}body.print-statement .top,body.print-statement .sidebar,body.print-statement .main,body.print-statement #notice,body.print-statement .overlay:not(.print-container){display:none!important}body.print-statement #extract-paper{position:static!important;max-width:100%;width:100%;box-shadow:none;border:none;padding:0!important}body.print-statement .print-container{position:static!important;background:#fff!important;padding:0!important;display:block!important}body.print-statement .print-container .dialog-header,body.print-statement .print-container .dialog-footer,body.print-statement .print-container .extract-controls{display:none!important}body.print-statement .print-container .dialog{box-shadow:none;max-width:100%;max-height:none!important;overflow:visible!important}#extract-paper tr{break-inside:avoid}}
/* v0.9.1 — consistent, readable management forms and responsive alignment */
:root{font-family:Inter,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;font-size:14px;line-height:1.5;font-synthesis:none}
body,button,input,select,textarea{font-family:Inter,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif}
.dialog-header h2{font-size:19px;font-weight:650;letter-spacing:-.025em}
.dialog-fields label,.tx-shared label,.tx-label,.admin-form>label{font-size:12px;font-weight:550;letter-spacing:0;line-height:1.55}
.dialog-content{padding:25px 27px}.dialog-fields,.tx-fields,.tx-shared,.admin-form{gap:16px}
.btn,.action,.tx-type{font-weight:600;letter-spacing:0}.table-scroll td{font-size:12px}
.person-page-head{align-items:flex-start}.person-page-head .person-actions{flex-wrap:wrap;gap:9px;flex:1 1 420px;max-width:none;align-content:flex-start}
.person-page-head .person-actions>.btn{white-space:nowrap;font-size:11px}
.monthly-entry-footer{margin-top:0}.monthly-entries tbody td:first-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.yearly-leave-bar{padding:0;background:#fff;color:#293848;border:1px solid #d8e2ed;margin:18px 0 16px;overflow:hidden;font-weight:500;box-shadow:0 2px 12px #2432490c}
.yearly-leave-bar>summary{padding:14px 17px;cursor:pointer;background:#34404e;color:#fff;font-weight:650;list-style:none}
.yearly-leave-bar>summary::-webkit-details-marker{display:none}
.yearly-leave-bar .leave-info{background:transparent;border:none;padding:20px 22px;border-radius:0}
.leave-info .leave-grid{gap:8px;padding:0 0 14px;grid-template-columns:repeat(4,minmax(0,1fr))}
.leave-grid>div{display:flex;flex-direction:column;gap:5px;padding:7px 12px;border-right:1px solid #e2e8f0}
.leave-grid>div:last-child{border-right:0}.leave-grid small{font-size:12px;color:#6f7f92;font-weight:500}.leave-grid strong{font-size:25px;font-weight:650;line-height:1.2}.leave-grid span{font-size:11px;color:#798899}
.leave-grid .leave-total strong{color:#0c8564}
.leave-info p{margin:6px 0 0;font-size:12px;color:#61758a}
.settings-cards{align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.settings-tile{display:flex!important;justify-content:center;align-items:flex-start!important;text-align:left!important;min-width:0;min-height:80px;padding:15px 18px;gap:2px}
.settings-tile b,.settings-tile small{margin:0!important;align-self:stretch;text-align:left!important;font-weight:600}
.settings-tile small{font-size:11px;font-weight:450;color:#687d91}
.settings-placeholder{background:transparent!important;border-color:transparent!important;box-shadow:none!important;pointer-events:none}
.settings-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch;margin-top:16px}
.settings-secondary>.panel,.settings-secondary>.panel+.panel{margin:0!important;height:100%;align-self:stretch}
.settings-secondary .panel-body{padding:18px;min-height:120px}
.logo-clear-row{grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px;justify-content:flex-start!important;margin:0;padding:7px 0;cursor:pointer}
.logo-clear-row input[type=checkbox]{width:17px;height:17px;margin:0;flex-shrink:0;accent-color:#c71c3d}
#logo-preview{min-height:90px;display:flex;align-items:center;justify-content:flex-start}
#logo-preview img{display:block;max-width:min(100%,360px)!important;max-height:150px!important;object-fit:contain}
.users-tabs{display:flex;gap:10px;margin:17px 0}
#admin-roles[hidden],#admin-users[hidden]{display:none!important}
.form-subhead{grid-column:1/-1;font-size:14px;font-weight:650;letter-spacing:0;border-bottom:1px solid #dfe6ef;padding-bottom:8px;margin:9px 0 1px}
.money-wrap{display:block;position:relative;width:100%;min-width:0}
.money-wrap input{padding-right:36px!important}
.money-wrap.has-value::after{content:'₺';position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#74839a;font-size:14px;font-weight:550;pointer-events:none}
.remember-row{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px;margin:10px 0 14px!important;cursor:pointer;font-weight:550!important}
.remember-row input{display:inline-block!important;width:17px!important;height:17px;margin:0!important;padding:0!important;accent-color:#c91b41}
.extract-controls{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-items:end!important;margin-bottom:28px!important;padding:0 0 20px;border-bottom:1px solid #dce4ec}
.extract-controls label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:550;color:#45556d}
.extract-controls select{width:100%;min-width:0;margin-top:0!important}
.extract-controls button{min-height:42px;justify-self:start}
#extract-paper{margin-top:24px;padding:17mm 15mm;box-shadow:0 8px 26px #2634491b}
#extract-paper th,#extract-paper td{font-size:11px;padding:9px 8px}
.print-container .dialog{overflow-y:auto;max-height:92vh}
@media(max-width:1020px){.settings-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-placeholder{display:none!important}.extract-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:740px){.settings-cards,.settings-secondary{grid-template-columns:1fr}.leave-info .leave-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-grid>div:nth-child(2){border-right:0}.person-page-head .person-actions{justify-content:flex-start;flex:1 1 100%}.extract-controls{grid-template-columns:1fr!important}.extract-controls button{width:100%}.dialog{max-width:calc(100vw - 20px)}.dialog-content{padding:18px}.form-subhead{margin-top:4px}}
@media print{#extract-paper{margin:0!important;box-shadow:none!important;padding:0!important}#extract-paper th,#extract-paper td{padding:6px!important}}

/* 0.9.1 tasarım revizyonu — sade, aydınlık kullanıcı odaklı sol menü.
   Yalnız sunum düzenidir: sunucu yetkileri ve sayfa adresleri korunur. */
.layout{align-items:stretch;background:var(--k-background)}
.sidebar{
  display:flex;flex-direction:column;flex-shrink:0;width:252px;min-width:252px;
  padding:21px 13px 30px;background:#fbfcfe;border-right:1px solid #e1e7ef;
  box-shadow:1px 0 8px rgba(26,43,65,.025);color:#253549;
}
.sidebar-account{
  display:flex;align-items:center;gap:11px;min-width:0;padding:12px 10px;
  background:#fff;border:1px solid #e2e8f1;border-radius:12px;
  box-shadow:0 2px 8px rgba(24,42,65,.035);margin-bottom:25px;
}
.sidebar-avatar{
  display:flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;
  border-radius:50%;background:linear-gradient(140deg,#cc2545,#942444);color:#fff;
  font-size:14px;font-weight:700;letter-spacing:.02em;box-shadow:0 2px 6px #742b4622;
}
.sidebar-account-text{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:2px;flex:1}
.sidebar-account-text strong{font-size:13px;color:#26364b;font-weight:720;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-account-text span{font-size:11px;color:#6f8196;font-weight:500;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-menu{display:flex;flex-direction:column;min-width:0}
.sidebar-group-label{
  display:block;color:#95a2b3;font-size:10px;font-weight:700;letter-spacing:.095em;
  margin:0 12px 10px;text-transform:uppercase;
}
.sidebar-group-label.nav-section-extra{margin:25px 12px 10px;font-size:10px;letter-spacing:.095em;color:#95a2b3}
.nav-links{display:flex;flex-direction:column;gap:4px;min-width:0}
.sidebar .nav-item{
  display:flex;align-items:center;position:relative;gap:12px;min-height:43px;
  margin:0;padding:11px 13px;color:#53667d;background:transparent;border:1px solid transparent;
  border-radius:9px;font-size:12.5px;font-weight:585;line-height:1.3;
  white-space:nowrap;text-decoration:none;box-shadow:none;
}
.sidebar .nav-item:hover{background:#f0f3f8;border-color:#e6ecf3;color:#273d57}
.sidebar .nav-item.active{
  background:#fff0f3;border-color:#f7dce3;color:#bd1c3a;
  font-weight:690;box-shadow:none;
}
.sidebar .nav-item.active::before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:0 5px 5px 0;background:var(--k-accent)}
.sidebar .nav-icon{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;min-width:21px;line-height:1;color:inherit}
.sidebar .nav-icon svg{display:block;width:19px;height:19px;stroke:currentColor}
.sidebar .nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar .nav-pending{color:#98a3b2;opacity:1;font-weight:520}
.sidebar .nav-pending small{
  font-size:9px;color:#9aabba;letter-spacing:.02em;margin-left:auto;
  background:#f0f3f7;border-radius:5px;padding:3px 5px;font-weight:550;
}
.sidebar .nav-pending:hover{color:#667a90}
@media(max-width:980px) and (min-width:781px){
  .sidebar{width:224px;min-width:224px;padding-left:9px;padding-right:9px}
  .sidebar .nav-item{padding:10px 11px;font-size:12px;gap:8px}
  .sidebar .nav-pending small{font-size:8px;padding:2px 3px}
}
@media(max-width:780px){
  .layout{display:block!important;min-height:calc(100vh - 64px)}
  .sidebar{
    display:block!important;width:100%!important;min-width:0!important;
    padding:12px 14px 10px!important;overflow:visible!important;
    border-right:0;border-bottom:1px solid #e2e8f0;box-shadow:none;
  }
  .sidebar-account{max-width:100%;margin:0 0 13px;padding:9px 11px}
  .sidebar-avatar{height:38px;width:38px;min-width:38px}
  .sidebar-group-label{display:none!important}
  .sidebar-menu{display:block;overflow:visible}
  .sidebar .nav-links{display:flex;flex-direction:row;gap:7px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}
  .sidebar .nav-item{margin:0;min-height:41px;padding:10px 12px;flex-shrink:0;font-size:12px;white-space:nowrap}
  .sidebar .nav-item.active::before{top:auto;left:12px;right:12px;bottom:0;width:auto;height:3px;border-radius:4px 4px 0 0}
  .sidebar .nav-links-pending{margin-top:8px}
  .sidebar .nav-pending small{display:inline-block!important}
  .main{width:100%;min-width:0}
}
@media print{
  .sidebar,.sidebar-menu,.sidebar-account{display:none!important}
}
/* Mobile: keep all three active modules visible without horizontal clipping. */
@media(max-width:780px){
  .sidebar .nav-links:not(.nav-links-pending){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;padding:0}
  .sidebar .nav-links:not(.nav-links-pending) .nav-item{min-width:0;max-width:100%;justify-content:center;gap:5px;padding:9px 6px;font-size:10.5px}
  .sidebar .nav-links:not(.nav-links-pending) .nav-icon{width:17px;min-width:17px;height:17px}
  .sidebar .nav-links:not(.nav-links-pending) .nav-icon svg{width:16px;height:16px}
  .sidebar .nav-links-pending{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible}
  .sidebar .nav-links-pending .nav-item{min-width:0;justify-content:flex-start;font-size:10.5px;padding:9px 7px;gap:5px}
  .sidebar .nav-links-pending .nav-icon{width:16px;min-width:16px;height:16px}
  .sidebar .nav-links-pending .nav-icon svg{width:15px;height:15px}
  .sidebar .nav-pending small{font-size:8px}
}
