:root{font-family:Arial,"Noto Sans Hebrew",sans-serif;color:#1c2a43;background:#f4f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:#1e65af}.skip-link{position:absolute;top:-100px;right:0;background:white;z-index:10;padding:1rem}.skip-link:focus{top:0}.app-shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;width:262px;flex:0 0 262px;background:#102c50;color:#e7f2ff;display:flex;flex-direction:column;padding:24px 15px}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 22px;border-bottom:1px solid #ffffff21;margin-bottom:20px}.brand img{width:74px;height:65px;object-fit:contain;background:white;border-radius:9px;padding:3px}.brand strong{font-size:21px;display:block}.brand small,.side-foot small{font-size:12px;color:#b9d3ee}.sidebar nav{display:grid;gap:6px}.nav-link{width:100%;text-align:right;background:transparent;border:0;border-radius:10px;padding:13px;color:#d7e5f5;font-weight:700}.nav-link span{font-size:20px;margin-left:12px;vertical-align:middle}.nav-link:hover,.nav-link.active{background:#245380;color:white}.side-foot{font-size:12px;line-height:1.9;margin-top:auto;border-top:1px solid #ffffff21;padding:16px 8px 0}.status-dot{display:inline-block;width:8px;height:8px;background:#71d8b0;border-radius:50%;margin-left:7px}.workspace{min-width:0;flex:1}.topbar{padding:28px clamp(20px,4vw,64px);background:white;border-bottom:1px solid #dfe7ef;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar h1{margin:3px 0 0;font-size:29px}.eyebrow{font-size:12px;letter-spacing:.04em;color:#477ea5;font-weight:800}.top-tag,.count-pill{background:#e9f2fb;color:#205b90;padding:9px 14px;border-radius:999px;font-weight:700;font-size:13px;white-space:nowrap}main{padding:28px clamp(20px,4vw,64px);max-width:1780px;margin:auto}.page{display:none}.page.active{display:block}.page>*.panel+.panel,.panel+.two-col,.two-col+.panel{margin-top:20px}.notice{background:#eaf3fa;border:1px solid #cbdeec;border-radius:12px;color:#294e6c;padding:14px 18px;line-height:1.8;margin-bottom:22px}.notice.warning{background:#fff7e8;border-color:#f4dab0;color:#795217}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat-card{background:white;border:1px solid #e0e8f0;border-radius:15px;padding:22px;box-shadow:0 4px 18px #183b6010}.stat-card .n{font-weight:850;font-size:38px;letter-spacing:-.04em;color:#183d68;margin:8px 0}.stat-card .desc{color:#6b7c90;font-size:13px;line-height:1.5}.stat-card .label{font-weight:700;font-size:14px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.panel{min-width:0;background:white;border:1px solid #e0e8f0;border-radius:15px;padding:22px;margin-bottom:20px;box-shadow:0 3px 15px #183b6009}.panel h2,.panel h3{margin:0 0 16px;font-size:18px;color:#1e426b}.panel-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.muted{color:#748399;font-size:13px}.page-intro{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:22px}.page-intro h2{font-size:23px;margin:0 0 7px}.page-intro p{color:#6d7d91;margin:0;line-height:1.6}.explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.explain-grid>div{background:#f3f8fc;border-radius:11px;padding:15px}.explain-grid p{margin:8px 0 0;color:#66788d;line-height:1.7;font-size:13px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;margin-bottom:16px}.filters label,.form-grid label,.dialog-body label{display:grid;gap:7px;color:#40536c;font-size:13px;font-weight:700;min-width:0}input,select,textarea{background:white;color:#182b42;border:1px solid #ccd8e5;border-radius:8px;min-height:42px;padding:10px 12px;min-width:0;width:100%;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#227abc;box-shadow:0 0 0 3px #227abc22}.table-panel{padding:0}.table-wrap{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:770px;text-align:right}thead{background:#eff5fa}th,td{border-bottom:1px solid #edf0f3;padding:13px 12px;vertical-align:middle;font-size:13px;line-height:1.5}th{font-weight:750;color:#49617c;white-space:nowrap}td{color:#354964;overflow-wrap:anywhere}tbody tr:hover{background:#fafcff}.table-panel table{margin:0}.table-panel thead tr th:first-child{border-top-right-radius:14px}.flag{display:inline-flex;align-items:center;border-radius:100px;padding:5px 9px;font-size:12px;font-weight:700;background:#eaf3ed;color:#24714d;white-space:nowrap}.flag.bad{background:#ffe9e5;color:#a53b31}.flag.pending{background:#fff3df;color:#906121}.flag.neutral{background:#edf1f5;color:#6b788b}.btn{border:1px solid #c7d6e6;border-radius:9px;padding:9px 15px;background:#fff;color:#245787;font-weight:700;min-height:37px}.btn:hover{background:#eff7fd}.btn.primary{background:#176eae;color:white;border-color:#176eae}.btn.primary:hover{background:#0f5c96}.btn.small{font-size:12px;padding:5px 10px;min-height:32px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-wide{grid-column:1/-1}.form-action{display:flex;align-items:center;gap:12px;justify-content:space-between}.issue-list{display:grid;gap:12px}.issue-row{border:1px solid #e3ebf1;border-radius:12px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0}.issue-row .detail{min-width:0}.issue-row h4{margin:0 0 8px;overflow-wrap:anywhere}.issue-row p{margin:5px 0;color:#61758b;line-height:1.6;font-size:13px;overflow-wrap:anywhere}.issue-row .actions{flex:0 0 170px}.issue-row .actions select{max-width:170px}.source-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.source-item{background:#f4f8fb;border-radius:10px;padding:13px;min-width:0}.source-item strong{display:block;overflow-wrap:anywhere}.source-item small{display:block;color:#6a7b90;margin-top:6px;line-height:1.6}.simple-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 3px;border-bottom:1px solid #edf1f5;font-size:14px}.simple-row>*{overflow-wrap:anywhere}.simple-row:last-child{border:0}.simple-row b{color:#264d75}.bar-outer{height:9px;background:#e6eff8;border-radius:20px;overflow:hidden;margin-top:12px}.bar-outer span{background:#2876b3;display:block;height:100%;max-width:100%}.footer{text-align:center;color:#7c8999;font-size:12px;padding:4px 20px 32px}dialog{border:0;border-radius:16px;box-shadow:0 18px 70px #13284352;width:min(92vw,550px);max-height:92vh;overflow:auto;padding:0;color:#1d2c42}dialog::backdrop{background:#0a234ba0}.dialog-body{padding:26px;display:grid;gap:18px}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.dialog-head h2{margin:5px 0}.icon-btn{background:#edf3f8;border:0;border-radius:8px;font-size:28px;width:40px;height:40px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.dialog-body .notice{margin:0}.toast{position:fixed;bottom:20px;left:20px;background:#153c61;color:white;padding:14px 20px;border-radius:11px;box-shadow:0 8px 35px #153c613d;z-index:10;max-width:min(500px,calc(100vw - 40px))} [hidden]{display:none!important}
@media (max-width:1100px){.sidebar{width:222px;flex-basis:222px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:780px){.app-shell{display:block}.sidebar{position:relative;width:auto;height:auto;padding:12px 14px}.brand{padding-bottom:10px;margin-bottom:8px}.brand img{width:55px;height:52px}.brand strong{font-size:18px}.sidebar nav{display:flex;overflow-x:auto;gap:5px;padding-bottom:5px;scrollbar-width:thin}.nav-link{flex:0 0 auto;width:auto;padding:10px;font-size:12px;white-space:nowrap}.nav-link span{margin-left:6px}.side-foot{display:none}.topbar{padding:20px}.topbar h1{font-size:24px}main{padding:19px 14px}.two-col{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-list{grid-template-columns:1fr}.explain-grid{grid-template-columns:1fr}}@media (max-width:480px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:14px}.stat-card .n{font-size:29px}.stat-card .label{font-size:12px}.top-tag{font-size:10px;padding:7px}.topbar h1{font-size:21px}.panel{padding:15px}.filters{grid-template-columns:1fr 1fr;gap:9px}.form-grid{grid-template-columns:1fr}.issue-row{display:block}.issue-row .actions{margin-top:12px}.issue-row .actions select{max-width:100%}.page-intro h2{font-size:20px}.page-intro p{font-size:13px}}

/* v0.2.0: authentication and account controls */
[hidden]{display:none!important}
.top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.top-user{color:#536981;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.logout-btn,.account-btn{min-height:35px;padding:8px 12px;font-size:12px}
.account-panel{max-width:560px}
.user-form{grid-template-columns:repeat(2,minmax(0,1fr))}
#usersRows select{min-width:105px}
.login-page{background:#f2f6fa;color:#19324c}
.login-layout{display:grid;grid-template-columns:1fr 1.04fr;min-height:100vh;direction:rtl}
.login-side{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:48px 24px}
.login-card{width:min(100%,460px);background:#fff;border:1px solid #e3ecf4;border-radius:23px;box-shadow:0 22px 70px #0a274b12;padding:32px 42px 35px;text-align:right}
.login-logo{display:block;width:210px;max-width:100%;height:auto;margin:0 auto 17px;object-fit:contain}
.login-label{text-align:center;font-weight:750;color:#22679d;letter-spacing:.01em;font-size:13px}
.login-card h2{text-align:center;font-size:29px;line-height:1.3;margin:16px 0 5px;color:#123556}
.login-subtitle{text-align:center;color:#6b8093;font-size:14px;margin:0 0 30px}
#loginForm{display:grid;gap:10px}
#loginForm label{font-weight:700;font-size:13px;color:#41566d;margin-top:5px}
#loginForm input{height:49px;padding:12px 14px}
.password-wrap{position:relative}
.password-wrap input{padding-left:72px}
.show-password{position:absolute;left:8px;top:50%;transform:translateY(-50%);background:#eef4f9;color:#355875;border:0;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700}
.login-submit{width:100%;margin-top:16px;min-height:52px;display:flex;justify-content:center;align-items:center;gap:14px;background:#166cab;color:#fff;font-weight:800;border:0;border-radius:11px;font-size:15px;box-shadow:0 10px 28px #0a63a328}
.login-submit:hover{background:#125f96}.login-submit:disabled{opacity:.65}
.login-error{color:#a32f2f;background:#fff0f0;border:1px solid #fad1d1;border-radius:9px;padding:10px;font-size:13px;line-height:1.6;margin:8px 0 0}
.setup-notice{background:#fff8e6;color:#71501b;border:1px solid #f0dca1;border-radius:10px;padding:12px;line-height:1.8;font-size:13px;overflow-wrap:anywhere}
.login-copyright{text-align:center;font-size:12px;color:#8090a2;margin-top:22px}
.login-hero{background:linear-gradient(150deg,#102c50 8%,#155784 58%,#137ba6);position:relative;display:flex;align-items:center;overflow:hidden;color:#fff;padding:9vw}
.login-hero::before,.login-hero::after{content:'';position:absolute;border:1px solid #ffffff27;border-radius:50%;width:620px;height:620px;inset:auto auto -260px -240px}
.login-hero::after{width:440px;height:440px;inset:-210px -100px auto auto}
.hero-content{position:relative;z-index:1;max-width:560px}
.hero-kicker{font-size:14px;font-weight:700;letter-spacing:.02em;color:#b4dcf2}
.login-hero h1{font-size:clamp(34px,3.3vw,55px);line-height:1.27;margin:25px 0 20px;letter-spacing:-.03em}
.login-hero p{line-height:1.9;font-size:16px;max-width:430px;color:#d8e9f5}
.hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:33px}
.hero-tags span{border:1px solid #ffffff40;border-radius:50px;padding:9px 17px;font-size:12px;font-weight:700;background:#ffffff12}
@media(max-width:980px){.login-layout{grid-template-columns:1fr 1fr}.login-hero{padding:45px}.login-card{padding:28px}.login-hero h1{font-size:35px}}
@media(max-width:740px){.login-layout{display:flex;flex-direction:column}.login-hero{min-height:180px;padding:28px 30px}.login-hero h1{font-size:24px;margin:8px 0}.login-hero p,.hero-tags{display:none}.hero-kicker{font-size:11px}.login-side{padding:20px 14px 32px;flex:1}.login-card{width:min(100%,470px);padding:25px 24px}.login-logo{width:150px}.login-card h2{font-size:25px;margin-top:13px}.login-subtitle{margin-bottom:20px}}
@media(max-width:480px){.top-actions{justify-content:flex-start}.topbar{display:block}.top-actions{margin-top:10px}.user-form{grid-template-columns:1fr}#usersRows select{min-width:100px}}

/* 0.3.0 work hours module */
.workhours-hero{position:relative;overflow:hidden;border-radius:28px;padding:28px 28px 30px;background:linear-gradient(135deg,rgba(5,41,88,.88),rgba(15,109,173,.62)),url('/workhours-bg-user.png') center/cover no-repeat;color:#fff;box-shadow:0 24px 60px rgba(9,50,97,.18);margin-bottom:18px;min-height:220px;display:flex;align-items:flex-end}
.workhours-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.18),transparent 35%),linear-gradient(180deg,rgba(255,255,255,.06),transparent 55%);pointer-events:none}
.workhours-hero .hero-content{position:relative;z-index:1;max-width:760px}
.workhours-hero h2{margin:.35rem 0 .7rem;font-size:clamp(2rem,3.8vw,3.5rem);line-height:1.08;color:#fff}
.workhours-hero p{max-width:56ch;color:rgba(255,255,255,.9);font-size:1.02rem}
.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hero-tag{padding:8px 14px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border-radius:999px;font-size:.95rem}
.workhours-month-picker{display:flex;align-items:end}
.workhours-stats .stat-card .n{font-size:2rem}
.workhours-layout{align-items:start}
.workhours-preview{background:linear-gradient(180deg,#eef7ff,#f8fbff);border:1px dashed #9bc3ea;border-radius:16px;padding:14px 16px;color:#234a75}
.summary-stack{display:grid;gap:10px}
#workHistoryList .issue-row{margin-bottom:10px}
.notice.info{background:#eef7ff;border:1px solid #d6e7fb;color:#234a75}
@media (max-width: 900px){
 .workhours-hero{min-height:190px;padding:22px}
 .workhours-hero h2{font-size:2rem}
}
@media (max-width: 680px){
 .workhours-hero{padding:20px;border-radius:22px;background-position:center left}
 .hero-tags{gap:8px}
 .hero-tag{font-size:.86rem;padding:7px 11px}
 .workhours-month-picker{width:100%}
 .workhours-month-picker label{width:100%}
 .workhours-month-picker input{width:100%}
 #workHoursRows td:last-child,#workHoursRows th:last-child{position:sticky;right:0;background:inherit}
}


/* UI layout update: move account controls below the sidebar brand. */
.sidebar-profile{display:grid;gap:10px;padding:14px 12px;margin:0 3px 18px;border-radius:13px;border:1px solid rgba(180,216,252,.20);background:rgba(255,255,255,.065);min-width:0}
.sidebar-source{display:inline-block;justify-self:start;max-width:100%;font-size:11px;line-height:1.5;font-weight:750;color:#d6eaff;background:rgba(93,159,226,.18);border:1px solid rgba(157,205,251,.18);border-radius:999px;padding:5px 9px;overflow-wrap:anywhere}
.sidebar-user{color:#fff;font-size:13px;font-weight:750;line-height:1.5;overflow-wrap:anywhere}
.sidebar-account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sidebar-account-actions .btn{width:100%;min-width:0;font-size:12px;line-height:1.3;min-height:36px;padding:8px 5px;background:rgba(255,255,255,.1);color:#eaf5ff;border:1px solid rgba(217,236,255,.33)}
.sidebar-account-actions .btn:hover{background:rgba(255,255,255,.21)}
.workspace.workhours-view .topbar{display:none}
/* Smaller work-hours banner; keep the user's background artwork. */
#page-workhours .workhours-hero{padding:19px 25px;min-height:154px;margin-bottom:17px;border-radius:20px}
#page-workhours .workhours-hero h2{font-size:clamp(1.6rem,2.4vw,2.15rem);line-height:1.2;margin:.3rem 0 .55rem}
#page-workhours .workhours-hero .hero-tags{margin-top:10px;gap:7px}
#page-workhours .workhours-hero .hero-tag{font-size:12px;padding:5px 11px}
@media (max-width:780px){
 .sidebar-profile{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:6px;align-items:center;margin:0 0 12px;padding:10px 12px}
 .sidebar-source{justify-self:start}
 .sidebar-user{grid-column:1;grid-row:2}
 .sidebar-account-actions{grid-column:2;grid-row:1 / span 2;grid-template-columns:repeat(2,minmax(0,1fr))}
 .sidebar-account-actions .btn{min-width:66px}
}
@media (max-width:480px){
 .sidebar-profile{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:9px}
 .sidebar-account-actions{gap:5px}
 .sidebar-account-actions .btn{min-width:57px;padding:7px 5px;font-size:11px}
 #page-workhours .workhours-hero{min-height:138px;padding:17px 16px;border-radius:18px}
 #page-workhours .workhours-hero h2{font-size:1.55rem}
 #page-workhours .workhours-hero .hero-tags{gap:5px}
 #page-workhours .workhours-hero .hero-tag{font-size:10px;padding:5px 8px}
}
