:root{font-family:system-ui,sans-serif;color:#172c27;background:#f4f7f5;font-size:16px;color-scheme:light;--accent:#165949;--line:#d2ddd7;--paper:#fff;--muted:#50655d}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a,input,select,textarea,summary{outline-offset:3px}h1,h2,p{margin:0}h1{font-size:clamp(1.85rem,5vw,2.65rem);letter-spacing:-.04em}h2{font-size:1.35rem}p{line-height:1.55}.shell{width:min(100%,780px);margin:auto;padding:24px 18px 48px}.header,.dialog-head,.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.13em;color:var(--accent);margin-bottom:3px}.actions,.card-actions,.tabs,.chips{display:flex;gap:8px;flex-wrap:wrap}.actions{margin:16px 0}.tabs{margin:0 0 16px}.tabs button,.chips button{border:1px solid var(--line);background:var(--paper);color:var(--accent);border-radius:20px;padding:8px 11px;min-height:40px}.tabs button[aria-pressed=true]{background:#d8eee4;border-color:#adcbbb;font-weight:750}.primary,.secondary,.quiet{border:1px solid transparent;border-radius:11px;min-height:44px;padding:9px 14px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--accent);color:white}.secondary,.quiet{color:var(--accent);background:#edf5f1}.quiet{padding-inline:10px}.search{margin-bottom:16px}.panel,dialog{background:var(--paper);border:1px solid var(--line);border-radius:16px}.card,.empty{padding:14px 16px;margin-bottom:10px}.card p,.empty,.hint,small,label span{color:var(--muted)}.card p{margin:4px 0}.card-actions{margin-top:8px}.badge{font-size:.74rem;border-radius:12px;padding:4px 8px;background:#e9efec;white-space:nowrap}.badge.planned{background:#e1edf9}.badge.done{background:#dff2e6}.badge.cancelled{background:#f6e8e5}.auth{padding:24px;max-width:430px;margin:7vh auto}.auth form{margin-top:16px}form{display:grid;gap:13px}label{display:grid;gap:5px;font-weight:650;font-size:.94rem}label span,small,.hint{font-weight:400}input,select,textarea{width:100%;min-width:0;background:#fff;border:1px solid #b9cac1;color:inherit;border-radius:9px;min-height:44px;padding:9px;font-size:1rem}textarea{resize:vertical}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}details{background:#f5f8f6;border-radius:10px;padding:10px}details>label,details>.two,#job-completion>label{margin-top:10px}summary{cursor:pointer;min-height:28px;color:var(--accent);font-weight:700}.notice{background:#edf7f1;border:1px solid #c7e0d2;border-radius:10px;padding:10px 12px;line-height:1.5}.notice ul{margin:4px 0 0;padding-left:20px}.chips{margin-top:5px}.error{color:#a62e23;font-weight:650}.error:empty{display:none}dialog{width:min(calc(100% - 20px),570px);max-height:calc(100dvh - 24px);padding:16px;color:inherit;overflow:auto}dialog::backdrop{background:#10261f80}.dialog-head{margin-bottom:12px}dialog .actions{margin:0}@media(max-width:430px){.shell{padding:16px 12px 32px}.actions>.primary,.actions>.secondary{flex:1 1 auto}.tabs{gap:5px}.tabs button{padding:6px 8px;font-size:.87rem}.card-top{align-items:flex-start}}
.badge.warn{background:#fbe7c6;color:#7a4b00}.notice .warnings li{color:#8a3a12}.notice p{margin-top:4px}.users{margin-bottom:16px}#user-form{border-top:1px solid var(--line);padding-top:14px}.inline-pass{margin-top:10px}.header .card-actions{margin:0}
.works{display:grid;gap:8px}.works-title{font-weight:650;font-size:.94rem}#items{display:grid;gap:8px}.work{padding:10px;display:grid;gap:8px;background:#f8fbf9}.remove-item{justify-self:start;min-height:36px;padding:4px 10px;font-size:.88rem}
.periods{margin-bottom:10px}.periods button[aria-pressed=true]{background:#d8eee4;border-color:#adcbbb;font-weight:750}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.stat{padding:12px 14px;display:grid;gap:2px}.stat b{font-size:1.35rem}.stat small,.stat span{color:var(--muted)}.fin-line{display:flex;justify-content:space-between;gap:10px}.fin-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:9px 0;color:inherit}.fin-row span{display:grid}.fin-row small{color:var(--muted)}.warn-card{border-color:#f0c98a;background:#fffaf0}.card strong{display:block;margin-bottom:4px}
.fin-row b{white-space:nowrap}
.danger{color:#a62e23;background:#fbeceb}
