:root{--navy:#183249;--navy2:#102538;--teal:#008b80;--green:#168a63;--light:#f5f7fa;--text:#203143;--muted:#738194;--line:#e6edf2;--shadow:0 7px 24px #1234530b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--light)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--teal)}h1,h2,h3,p{margin:0}h1{font-size:24px}h2{font-size:20px}h3{font-size:16px}.small{font-size:12px}.muted{color:var(--muted)}.strong{font-weight:750}.hidden{display:none!important}.loading{padding:50px;text-align:center;color:var(--muted)}.brand{font-size:30px;font-weight:900;font-style:italic;letter-spacing:-1.7px;color:var(--navy);white-space:nowrap}.brand::after{content:"/";color:var(--teal);font-size:18px;font-style:normal;margin-left:4px;vertical-align:top}.card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border:1px solid #dce5ec;border-radius:9px;background:white;color:var(--text);font-size:13px;font-weight:750;padding:9px 13px;white-space:nowrap}.btn:hover{background:#f0f5f7}.btn.primary{background:var(--navy);border-color:var(--navy);color:white}.btn.primary:hover{background:#294b65}.btn.teal{background:var(--teal);color:#fff;border-color:var(--teal)}.btn.danger{color:#b6474b;background:#fff8f8}.btn.tiny{padding:6px 9px;min-height:31px;font-size:12px}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #63babb88;outline-offset:1px}.btn-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.input{border:1px solid #dce5ec;border-radius:8px;background:white;color:var(--text);padding:9px 10px;min-height:39px;width:100%}.label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#5e6e7b;font-weight:700}.label .input{font-size:14px;font-weight:500}.tag{display:inline-block;border-radius:100px;padding:5px 10px;font-size:11px;font-weight:800;white-space:nowrap;background:#eef1f4;color:#687788}.tag.draft{background:#ebf1f6;color:#50697d}.tag.submitted{background:#fff1d9;color:#98610b}.tag.approved{background:#ddf5e9;color:#128254}.tag.returned{background:#ffecef;color:#b54852}.tag.missing{background:#f0f2f5;color:#778596}.topbar{height:74px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:16px}.topbrand{display:flex;align-items:center;gap:22px}.topbrand>div:nth-child(2){border-left:1px solid var(--line);padding-left:22px}.topbrand h1{font-size:18px}.topbrand p{font-size:11px;color:var(--muted);margin-top:4px}.userstrip{display:flex;gap:12px;align-items:center}.avatar{background:#e8f3f2;color:#007b75;font-weight:850;display:flex;align-items:center;justify-content:center;border-radius:100%;width:34px;height:34px}.layout{display:grid;grid-template-columns:215px minmax(0,1fr);min-height:calc(100vh - 74px)}.sidebar{background:var(--navy2);color:#dae4ec;padding:24px 13px}.sidecap{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#7590a3;padding:0 14px;margin-bottom:13px}.navbtn{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:transparent;border:0;color:#c5d2dd;border-radius:10px;padding:13px 14px;font-size:13px;margin-bottom:5px}.navbtn:hover{background:#ffffff17}.navbtn.active{color:white;background:#126b74;font-weight:750}.navicon{font-size:18px;width:22px;text-align:center}.main{min-width:0;padding:30px;max-width:1720px;width:100%;margin:auto}.sectionhead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.sectionhead p{color:var(--muted);font-size:13px;margin-top:6px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.stat{padding:19px}.stat .value{font-size:26px;font-weight:850;color:var(--navy);margin-top:8px}.stat .small{color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:15px;margin-bottom:18px}.toolbar .fields{display:flex;align-items:end;gap:13px;flex-wrap:wrap}.toolbar .input{min-width:170px}.tablebox{overflow:auto;max-height:none}.timesheet{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}.timesheet th{text-align:left;background:#f5f8fa;padding:14px 12px;border-bottom:1px solid var(--line);color:#6b7987;font-size:11px;position:sticky;top:0;z-index:1}.timesheet td{border-bottom:1px solid #eef2f5;padding:6px 9px;height:46px}.timesheet tr.weekend td{background:#fafbfd}.timesheet tr.holiday td{background:#fffcf1}.timesheet .date{font-weight:750;white-space:nowrap}.timesheet .day{color:#7a8b98}.timesheet .cellinput{width:100%;border:1px solid #e0e8ee;border-radius:6px;background:#fff;padding:8px 7px;font-size:12px;min-width:70px;height:34px}.timesheet select.cellinput{min-width:105px}.timesheet .note{min-width:135px}.timesheet .cellinput:disabled{background:#f7f9fa;color:#566779;border-color:transparent}.timesheet .hours{text-align:right;font-weight:750;white-space:nowrap}.footerbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:17px 19px;border-top:1px solid var(--line)}.contentgrid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:start}.panel{padding:20px;margin-bottom:17px}.panel h3{margin-bottom:17px}.metric{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f4;font-size:13px}.metric:last-child{border-bottom:0}.metric strong{font-size:15px}.panel .btn{width:100%;margin-top:8px}.notice{padding:12px 15px;border-radius:9px;border:1px solid #d2e9e7;background:#f0f9f8;color:#436b6a;font-size:12px;line-height:1.5}.warning{background:#fff8eb;border-color:#f4e1b8;color:#8a691f}.dangerbox{background:#fff1f1;border-color:#f7d1d4;color:#9c454c}.simpletable{border-collapse:collapse;width:100%;font-size:13px}.simpletable th,.simpletable td{padding:15px;text-align:left;border-bottom:1px solid #e8edf2}.simpletable th{background:#f6f8fa;font-size:11px;color:#73808b}.table-scroll{overflow:auto}.empty{padding:45px 25px;text-align:center;color:#718191}.archivecards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.archivecard{padding:20px;display:grid;gap:12px}.archivecard .btn{justify-self:start}.login{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at top left,#d5eeee,transparent 45%),#f5f7fa}.loginbox{width:100%;max-width:430px;padding:36px}.loginbox h1{font-size:22px;margin:21px 0 5px}.loginbox p{color:var(--muted);font-size:13px;margin-bottom:25px;line-height:1.5}.loginbox form{display:grid;gap:15px}.loginbox .btn{width:100%;margin-top:9px}.toast{display:none;position:fixed;bottom:24px;right:24px;max-width:450px;padding:13px 18px;background:#152f45;color:white;border-radius:10px;box-shadow:0 12px 25px #0003;z-index:99;font-size:13px}.toast.show{display:block}.inlineform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.flexgrow{flex:1}.right{text-align:right}.summaryline{margin:0 0 11px;font-size:13px;color:var(--muted)}.error{font-size:13px;color:#a53f4a;margin-top:12px}.help{line-height:1.6;color:var(--muted);font-size:13px}.adminnote{padding:17px;margin-bottom:18px}.loadingpad{padding:30px}.info{font-size:12px;color:#658491}.iconcircle{border-radius:12px;padding:10px;background:#eaf4f3;display:inline-block;margin-bottom:12px}.footer-actions{display:flex;gap:9px;flex-wrap:wrap}.field-sm{width:140px!important;min-width:0!important}@media(max-width:1170px){.contentgrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.main{padding:22px}}@media(max-width:730px){.layout{display:block}.sidebar{display:flex;overflow:auto;padding:9px;background:var(--navy2)}.sidecap{display:none}.navbtn{width:auto;flex:none;white-space:nowrap;padding:10px}.navicon{display:none}.topbar{padding:0 15px;height:66px}.topbrand h1{font-size:13px}.topbrand p{display:none}.topbrand{gap:10px}.brand{font-size:24px}.topbrand>div:nth-child(2){padding-left:10px}.userstrip .muted{display:none}.userstrip .avatar{display:none}.main{padding:16px}.sectionhead{flex-direction:column}.stats{gap:9px}.stat{padding:13px}.stat .value{font-size:21px}.footerbar{padding:13px}.inlineform{grid-template-columns:1fr}.toolbar .fields{width:100%}.toolbar .fields>label{flex:1}.toolbar .input{min-width:0}.loginbox{padding:25px}.panel{padding:17px}}

/* Dve pevne moznosti rozsahu dovolenky, bez zadavania vlastneho cisla. */
.timesheet{min-width:1050px}
.timesheet .leavechoice{min-width:130px;font-weight:700;color:#1c5b6d}
.timesheet .hours{min-width:110px}

/* ROLS firemna identita: antracit + zlata #D8A01B. */
:root{--navy:#292b2e;--navy2:#222428;--teal:#D8A01B;--light:#f6f6f7;--text:#282b2f;--muted:#737780;--line:#e5e5e8;--shadow:0 7px 24px #2020200a}
.rols-logo{width:180px;max-width:100%;height:auto;display:block;object-fit:contain}
.topbrand{gap:20px}.topbrand>div:nth-child(2){border-left:1px solid #e1e1e1}
.btn.primary,.btn.teal{background:#D8A01B;color:#27292c;border-color:#c99419}
.btn.primary:hover,.btn.teal:hover{background:#e6b43d}
.navbtn.active{background:#D8A01B;color:#23252a;font-weight:850}
.navbtn:hover:not(.active){background:#ffffff1b}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #D8A01B88}
.avatar{background:#fff2d4;color:#996706}.stat .value{color:#292b2e}
.login{background:radial-gradient(circle at top left,#faedc9,transparent 46%),#f5f6f7}
.notice{background:#fff9e9;border-color:#f0dfb0;color:#5d502e}
.warning{background:#fff8e9;border-color:#eedaa4;color:#7c5d17}
.timesheet .leavechoice{color:#6b4c04;border-color:#e4d2a9}
.halfhint{margin-bottom:14px}
.edit-footer{grid-column:1/-1;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.edit-footer .notice,.edit-footer .help{flex:1;min-width:260px}
.editor{border:1px solid #D8A01B;margin-top:18px}
@media(max-width:730px){.rols-logo{width:110px}.topbrand{gap:7px}.topbrand>div:nth-child(2){padding-left:8px}.edit-footer{display:block}.edit-footer .btn{margin-top:12px}}
.editor .toolbar .btn{width:auto;margin-top:0}
.editor .edit-footer .btn{width:auto;min-width:190px;margin-top:0}


/* V3: kontrastnejšie víkendy a uzamknuté dni pracovného pokoja. */
.timesheet tr.weekend td, .timesheet tr.day-locked.weekend td{background:#dce0e5!important;color:#3f464f}
.timesheet tr.day-locked.holiday td{background:#f5e5bd!important;color:#674b13}
.timesheet .day-locked td{height:46px;border-bottom:1px solid #cad1d7}
.timesheet .lock-mark{display:inline-block;margin:0 9px 0 4px;font-size:15px}
.timesheet .holiday-description{margin-left:12px;color:#85631d;font-weight:500}
.timesheet tr.day-locked .hours{color:#626875}
@media(max-width:730px){.timesheet .holiday-description{display:block;margin-left:28px}}
