@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f6f7f9;--ink:#202a37;--muted:#89919d;--line:#e8ebef;--green:#297b60;--light:#eef6f1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button{border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}.sidebar{position:fixed;width:244px;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);padding:35px 23px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;font-size:28px;font-weight:800;letter-spacing:-1px;gap:10px}.brand-icon{background:var(--green);color:white;width:39px;height:39px;text-align:center;border-radius:12px}.brand-sub{font-size:9px;letter-spacing:1.5px;color:#9aa29e;margin-top:10px}.workspace{margin:42px 0 35px;display:flex;align-items:center;gap:10px;background:#f7f8fa;padding:13px;border:1px solid var(--line);border-radius:10px;font-weight:700}.workspace>span{font-size:11px}small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.nav-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--muted)}.nav-label{padding:0 12px;margin-bottom:15px}nav button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 12px;text-align:left;margin:5px 0;border-radius:8px;font-size:17px;color:#7a8591}nav button span{font-size:13px;flex:1}nav button.active{background:var(--light);color:var(--green);font-weight:700}kbd{font:10px 'DM Sans';color:#a1aaa7}nav i{font:10px 'DM Sans';background:#e8edea;border-radius:5px;padding:3px 6px}.sidebar-bottom{margin-top:auto}.demo-label{font-size:10px;color:#78897e}.demo-label span,footer i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5b9d7c;margin-right:7px}.sidebar-bottom p{font-size:18px;line-height:1.6;color:#a2aaa7;letter-spacing:-.5px}.reset{font-size:11px;color:var(--muted);padding:0;margin:14px 0 25px}.profile{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;gap:12px;font-size:12px}.profile b{background:#ede8e0;padding:10px;border-radius:50%;font-size:11px}.profile>span:nth-child(2){flex:1}main{margin-left:244px;padding:0 44px;max-width:1730px}header{height:89px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb span{margin:0 15px;color:#c4c9ce}.breadcrumb b{font-weight:500;color:#596674}.prototype{font-size:9px;letter-spacing:1.5px;color:#8b9591;border:1px solid #dce3df;border-radius:5px;padding:7px 9px}#content{padding-top:34px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.page-heading h1{font-family:Manrope,system-ui;font-size:30px;font-weight:700;letter-spacing:-1.2px;margin:7px 0}.muted{color:var(--muted);line-height:1.6}.page-heading p{margin:8px 0 0;font-size:12px}.date-control{display:flex;align-items:center;border:1px solid #dde2e7;background:white;border-radius:8px;padding:5px;gap:9px;font-size:11px}.date-control button{padding:7px 9px}.date-control input{width:117px;border:0;font-size:11px;color:#596674;background:none}.timer-panel{background:#223e35;color:white;border-radius:13px;display:flex;justify-content:space-between;align-items:center;padding:27px 30px;position:relative;overflow:hidden}.timer-panel:after{content:'';position:absolute;width:350px;height:350px;border:1px solid #ffffff09;border-radius:50%;right:100px;pointer-events:none}.timer-label{font-size:9px;letter-spacing:1.6px;color:#a4c3b5}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#99d8ac;margin-right:7px;box-shadow:0 0 0 4px #ffffff09}.timer-panel h2{font-size:19px;margin:12px 0 7px;font-weight:500}.timer-panel p{font-size:11px;color:#abc0b6;margin:0}.timer-right{display:flex;align-items:center;gap:30px;z-index:1}.timer-digits{font-size:36px;letter-spacing:1px;font-variant-numeric:tabular-nums;font-weight:400}.timer-right small{text-align:right;color:#9fb7ab}.stop{background:#fff;color:#314b40;border-radius:8px;padding:13px 20px;font-size:12px;font-weight:600}.stop span{font-size:10px;margin-right:7px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0 32px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:19px 21px}.stat-label{font-size:11px;color:#7c8794;display:flex;justify-content:space-between}.stat-value{font-size:26px;letter-spacing:-1px;margin:11px 0 8px;font-family:Manrope,system-ui;font-weight:600}.stat-value em{font:12px 'DM Sans';color:#a0a9b2;letter-spacing:0}.stat small{font-size:10px}.stat.warning{background:#fcfaf5;border-color:#eee6d6}.stat.warning .stat-value{color:#b58a41}.section-head{display:flex;align-items:center;justify-content:space-between;margin:23px 0 16px}.section-head h2{font-size:16px;font-weight:600;margin:0;letter-spacing:-.3px}.section-head h2 span{font-size:11px;font-weight:400;color:var(--muted);margin-left:10px}.text-button{font-size:11px;color:var(--green);padding:8px}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{background:white;border:1px solid var(--line);border-radius:11px;padding:21px;transition:transform .15s,box-shadow .15s}.project-card:hover{transform:translateY(-2px);box-shadow:0 7px 20px #253e3510}.project-card.running{border:1px solid #77a68d;background:#fdfffd}.project-top{display:flex;justify-content:space-between;align-items:center}.project-icon{display:grid;place-items:center;height:37px;width:37px;background:var(--project-bg);color:var(--project-color);border-radius:9px;font-weight:600;font-size:15px}.project-menu{color:#9aa3ad;font-size:16px}.project-card h3{font-size:14px;margin:17px 0 5px;font-weight:600}.project-card p{font-size:11px;color:var(--muted);margin:0}.project-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f2f4;margin-top:19px;padding-top:15px}.project-bottom span{font-size:10px;color:var(--muted)}.project-bottom strong{font-size:15px;font-weight:500;color:#465565;margin-left:7px}.play{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;font-size:10px;color:#66776e}.running .play{background:var(--green);color:white;border-color:var(--green)}.day-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;margin:30px 0}.entry-list{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden}.entry{display:flex;gap:15px;align-items:center;padding:17px 19px;border-bottom:1px solid #f0f2f4;width:100%;text-align:left}.entry:last-child{border-bottom:0}.entry:hover{background:#fafcfb}.entry-marker{height:33px;width:3px;border-radius:5px;flex-shrink:0;background:var(--project-color)}.entry-time{width:73px;font-size:10px;color:#98a1ac;line-height:1.8;flex-shrink:0}.entry-main{flex:1;min-width:0}.entry-main h3{font-size:12px;font-weight:600;margin:0 0 6px}.entry-main p{font-size:11px;color:#8a949e;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-main p.missing{color:#b58a41}.entry-duration{font-size:13px;white-space:nowrap}.badge{font-size:9px;border-radius:4px;padding:4px 6px;display:inline-block;background:#f0f4f1;color:#6b8777}.badge.amber{background:#fbf4e5;color:#b08b46}.entry-arrow{color:#a5b1aa}.note{background:#eeF1ed;border:1px solid #e1e7df;border-radius:10px;padding:23px;margin-top:55px;align-self:start}.note .note-icon{font-size:21px;color:#6c8873}.note h3{font-size:13px;font-weight:600;line-height:1.5}.note p{font-size:11px;color:#839080;line-height:1.8}.note button{color:#52745b;font-size:11px;padding:0;margin-top:10px}footer{display:flex;justify-content:space-between;padding:20px 0 24px;border-top:1px solid var(--line);color:#a1a9b0;font-size:10px}.filterbar{display:flex;align-items:center;gap:10px;margin-bottom:23px;flex-wrap:wrap}.segmented{display:flex;background:#e9edef;padding:4px;border-radius:8px;gap:3px}.segmented button{font-size:11px;padding:8px 13px;border-radius:5px;color:#7b8792}.segmented button.active{background:white;color:#344d41;box-shadow:0 1px 3px #0000000a}.filterbar select{padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:white;color:#677782;font-size:11px}.primary{background:var(--green);color:white;padding:12px 18px;border-radius:7px;font-weight:500;font-size:12px}.secondary{background:white;border:1px solid #dfe5e2;padding:11px 17px;border-radius:7px;font-size:12px}.project-detail{margin-top:20px;border-top:1px solid var(--line);padding-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.project-detail span{font-size:10px;color:#98a1ab}.project-detail strong{display:block;font-size:16px;color:#4d5f54;margin-top:5px;font-weight:500}.billing-box{background:white;border:1px solid var(--line);border-radius:11px;overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:9px;letter-spacing:1px;font-weight:500;color:#8b97a0;background:#fbfcfc;padding:15px}td{padding:17px 15px;border-top:1px solid var(--line);font-size:11px}td small{font-size:10px}input[type=checkbox]{accent-color:var(--green);width:15px;height:15px}td .edit-link{color:var(--green);font-size:11px}.billing-total{display:flex;justify-content:space-between;align-items:center;margin-top:22px;background:#eef3ef;border-radius:9px;padding:20px}.billing-total p{font-size:12px;margin:0}.billing-total small{margin-top:6px}.empty{padding:40px;text-align:center;color:var(--muted);font-size:12px}dialog{width:510px;max-width:calc(100vw - 32px);padding:30px;border:1px solid #e0e6e1;border-radius:15px;box-shadow:0 25px 100px #13251c30;color:var(--ink)}dialog::backdrop{background:#152b235c;backdrop-filter:blur(4px)}.modal-head{display:flex;justify-content:space-between;align-items:center}.close{font-size:23px;color:#86948b}dialog h2{font-family:Manrope,system-ui;font-size:23px;letter-spacing:-.7px;margin:18px 0 8px}dialog .muted{font-size:12px}label{display:block;font-size:11px;font-weight:500;margin-top:19px}label input,label select,label textarea{width:100%;display:block;background:#fbfcfb;border:1px solid #dfe5e1;border-radius:7px;padding:11px;margin-top:8px;color:#44564b}textarea{resize:vertical}.form-row{display:flex;gap:16px}.form-row label{flex:1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.modal-actions .close{font-size:12px}.summary{margin:22px 0;padding:18px;background:var(--light);font-size:14px;border-radius:8px}.summary small{line-height:1.7}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);padding:14px 23px;border-radius:9px;background:#223e35;color:white;box-shadow:0 7px 30px #0002;font-size:12px;transition:transform .2s;z-index:20}#toast.show{transform:translateX(-50%) translateY(0)}.billing-total button:disabled{opacity:.4;cursor:default}@media(min-width:1450px){main{padding:0 65px}.project-card{padding:25px}.timer-panel{padding:32px}.stats{margin-bottom:40px}}@media(max-width:1100px){.sidebar{width:205px;padding:30px 16px}main{margin-left:205px;padding:0 25px}.day-layout{grid-template-columns:1fr}.note{margin-top:0}.stats{gap:10px}.stat{padding:17px 14px}.timer-right{gap:15px}.timer-digits{font-size:29px}}@media(max-width:760px){.sidebar{position:static;width:auto;padding:15px 20px}.brand{font-size:23px}.workspace,.nav-label,.sidebar-bottom{display:none}nav{display:flex;margin-top:15px}nav button{margin:0;padding:10px;gap:6px}nav kbd,nav i{display:none}main{margin:0;padding:0 20px}header{height:60px}.prototype{font-size:7px}.page-heading{align-items:flex-start;gap:15px}.page-heading h1{font-size:25px}.date-control{gap:0}.date-control button{padding:7px 3px}.timer-panel{padding:22px;align-items:flex-start;gap:22px;flex-direction:column}.timer-right{width:100%;justify-content:space-between}.stats{grid-template-columns:repeat(2,1fr);margin-bottom:25px}.projects{grid-template-columns:1fr}.day-layout{margin-top:24px}.entry{padding:14px 12px;gap:10px}.entry-time{width:57px}.entry .badge{display:none}.section-head h2 span{display:none}footer>span:last-child{display:none}.billing-total{align-items:flex-start;gap:20px;flex-direction:column}.page-heading .primary{font-size:10px;padding:12px}.form-row{flex-direction:column;gap:0}}

/* Contrast: readable secondary information and clearly defined controls. */
:root{--ink:#17251f;--muted:#56635d;--line:#cbd4ce;--green:#206347;--light:#e7f1ea}
small,.muted,.nav-label,.eyebrow{color:#56635d}
.workspace small,.profile small{color:#56635d}
.brand-sub{color:#53655a}
nav button{color:#4f6158}
nav button.active{color:#195537;background:#e0eee4;box-shadow:inset 3px 0 #206347}
kbd{color:#576a5e}
nav i{background:#dbe6de;color:#244d35}
.demo-label{color:#456451}
.sidebar-bottom p{color:#53675a}
.reset{color:#435c4d;text-decoration:underline;text-underline-offset:3px}
.breadcrumb{color:#58665f}
.breadcrumb span{color:#69776f}
.breadcrumb b{color:#2e4336}
.prototype{color:#4c6053;border-color:#aabbb0;background:#eef3ef;font-weight:600}
.page-heading p{font-size:13px}
.date-control{border-color:#aab9b0}
.date-control input{color:#32483a;font-size:12px}
.date-control button{color:#284533;font-size:17px;font-weight:700}
.timer-label{color:#d2e7da;font-size:10px}
.timer-panel p,.timer-right small{color:#d0e1d7;font-size:12px}
.stat-label{color:#4d6054;font-size:12px}
.stat small{color:#56665b;font-size:11px}
.stat-value em{color:#56665b}
.stat.warning{background:#fff6e3;border-color:#c6aa6e}
.stat.warning .stat-label,.stat.warning .stat-value,.stat.warning small{color:#795418}
.section-head h2 span{color:#56665d;font-size:12px}
.text-button{color:#205f3f;font-size:12px;font-weight:600}
.project-card{border-color:#c6d0c9}
.project-card.running{border:2px solid #397a54}
.project-menu{color:#476452;font-size:19px}
.project-card p{color:#526259;font-size:12px}
.project-icon{color:#344b3a;font-weight:700}
.project-bottom{border-color:#d7dfd9}
.project-bottom span{color:#536359;font-size:11px}
.project-bottom strong{color:#253f2d;font-weight:600}
.play{border-color:#92a89a;color:#27553b;background:#f4f8f5}
.entry{border-color:#dce3dd}
.entry-time{color:#53655a;font-size:11px}
.entry-main h3{font-size:13px}
.entry-main p{color:#536259;font-size:12px}
.entry-main p.missing{color:#825914;font-weight:500}
.entry-arrow{color:#456b52}
.badge{background:#e3eee6;color:#315d3f;font-size:10px;font-weight:500}
.badge.amber{background:#fff0cc;color:#77500d}
.note{background:#e8efe7;border-color:#b9cbb7}
.note .note-icon{color:#3d6646}
.note p{color:#4a604b;font-size:12px}
.note button{color:#285536;font-size:12px;font-weight:600}
footer{color:#56665d;font-size:11px}
.segmented{background:#dee6df}
.segmented button{color:#4a5e50;font-size:12px}
.segmented button.active{color:#1e4c2e;font-weight:600;box-shadow:0 1px 4px #253f3520}
.filterbar select{border-color:#aebbaf;color:#344c3b;font-size:12px}
.project-detail span{color:#52665a;font-size:11px}
.project-detail strong{color:#2c4a35}
th{color:#4c6053;background:#edf2ee;font-weight:600;font-size:10px}
td{font-size:12px}td small{color:#52645a;font-size:11px}
.empty{color:#53665a}
label input,label select,label textarea{border-color:#a7b9ac;color:#273f2f;background:#fff}
input::placeholder,textarea::placeholder{color:#637268;opacity:1}
.close{color:#45604d}
.primary{background:#206347}
.secondary{border-color:#97ad9d;color:#2c4834}
.billing-total button:disabled{opacity:1;background:#d6dfd8;color:#58665c;box-shadow:inset 0 0 0 1px #b8c6bc}
button:hover:not(:disabled){filter:brightness(.94)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #246343;outline-offset:3px}

/* Direct navigation and customer/project colour system. */
nav button,nav button.active{border-radius:0;background:transparent;box-shadow:none}
nav button.active{color:#174b30;font-weight:700;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
nav button:hover{background:#f0f4f1}
.stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-card,.project-card.running{border:1px solid var(--line);border-top:5px solid var(--project-color)}
.project-card.running{box-shadow:0 0 0 2px #206347}
.project-icon{background:var(--project-color);color:white}
.project-card p{color:var(--project-color);font-weight:600}
.project-card h3:before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--project-accent);margin-right:8px}
.entry{cursor:default;gap:13px;flex-wrap:wrap}
.entry-marker{background:var(--project-color);height:54px;width:4px}
.entry-body{flex:1;min-width:160px;text-align:left;padding:0}
.entry-body .client-label{display:block;color:var(--project-color);font-size:11px;font-weight:700;margin-bottom:5px}
.entry-body h3{font-size:13px;margin:0 0 6px;font-weight:600}
.entry-body p{font-size:12px;margin:0;color:#536259;line-height:1.6}
.entry-body p.missing{color:#825914}
.entry-body h3:before{content:'';display:inline-block;width:7px;height:7px;background:var(--project-accent);border-radius:2px;margin-right:6px}
.activity-chip{border:1px solid #9aada0;background:#eff4f0;padding:7px 9px;border-radius:6px;font-size:11px;color:#254b33}
.activity-chip span{margin-left:5px;color:#476b52}
.entry-duration{font-size:12px;padding:5px 0}
#activity-dialog{max-width:410px}
#activity-options{display:grid;gap:9px;margin-top:22px}
.activity-option{display:flex;justify-content:space-between;border:1px solid #b6c5bb;padding:15px;border-radius:8px;text-align:left;background:white}
.activity-option.selected{border-color:#206347;background:#e5f1e8;color:#174d2e;font-weight:600}
#content>.section-head:not(:first-child){margin-top:28px}
@media(max-width:760px){.stats{grid-template-columns:1fr}.entry-time{width:45px}.entry-body{min-width:140px}.activity-chip{margin-left:62px}.entry .badge{display:inline-block}nav{flex-wrap:wrap}nav button{width:50%}.entry-duration{margin-left:auto}}

/* Unified surfaces: complete borders, quiet selection, colour inside the layout. */
.project-card,.project-card.running{border:1px solid #bbc9c0;border-radius:12px;box-shadow:none;background:white;padding:23px}
.project-card.running{background:#edf5ef;border-color:#91aa98}
.project-card:hover{transform:none;box-shadow:none;background:#f5f8f6}
.project-card.running:hover{background:#e7f1ea}
.project-card h3:before,.entry-body h3:before{display:none}
.project-icon{border-radius:8px;background:var(--project-bg);color:var(--project-color);width:39px;height:39px}
.project-card p{display:inline-flex;align-items:center;gap:7px;color:#3f5447}
.project-card p:before,.client-label:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--project-color);flex-shrink:0}
.project-card h3{margin-top:18px}
.project-menu{color:#425d4b}
.project-bottom{border-color:#d5dfd8}
.project-card.running .project-bottom:before{content:'Läuft';font-size:10px;font-weight:600;color:#205637;margin-right:auto}
.project-card.running .project-bottom>span{margin-right:12px}
.entry-marker{display:none}
.entry-body .client-label{display:flex;align-items:center;gap:7px;color:#405547}
.entry{padding:19px 20px;border-bottom:1px solid #dce3dd}
.entry-list,.billing-box{border-radius:12px;border:1px solid #bbc9c0}
.entry:hover{background:#f5f8f6}
nav button.active{background:transparent;color:#173f29;text-decoration:none;box-shadow:none;border:0;font-weight:700}
nav button.active span{border-bottom:2px solid #2d6443;padding-bottom:4px}
nav button.active kbd{color:#173f29}
nav button:hover{background:transparent;color:#1f5b38}
nav button.active:hover{filter:none}
.stat,.stat.warning,.note,.workspace,.timer-panel{border-radius:12px;box-shadow:none}
.stat.warning{border-color:#d2bd91;background:#fff9ee}
.activity-chip{border-radius:6px;background:#f3f6f3}
@media(max-width:760px){.entry{padding:17px 14px}.activity-chip{margin-left:58px}}
nav button.active span{border:0;padding-bottom:0}
.timer-panel:after{display:none}

/* Sidebar: clearly visible current page. */
nav button.active,nav button.active:hover{background:#dcebe1;color:#173f29;border-radius:0;box-shadow:none;font-weight:700}
nav button.active span{border:0;padding-bottom:0}
nav button.active kbd{color:#173f29;font-weight:700}

/* Sidebar counters: strong contrast at their small size. */
nav i{background:#284e38;color:#ffffff;font-size:12px;font-weight:700;font-style:normal;min-width:25px;min-height:23px;display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:4px}

/* Project cards: customer first and explicit timer controls. */
.project-card .card-customer{margin:18px 0 0;font-size:12px;font-weight:600}
.project-card h3{margin:8px 0 0}
.project-bottom .play{width:auto;height:auto;min-height:34px;padding:8px 11px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}
.project-card.running .project-bottom:before{margin-right:8px}

/* Project overview and catalogue use the established plain surfaces. */
.project-table-scroll,.catalog-list{overflow:auto;background:#fff;border:1px solid #bbc9c0;border-radius:12px}
.project-table th:not(:first-child),.project-table td:not(:first-child){text-align:right}
.project-table th{padding:17px 20px}.project-table td{padding:12px 20px}
.project-table .customer-group th{background:#edf2ee;color:#243f2d;text-align:left;font-size:12px;letter-spacing:0}
.color-dot{display:inline-block;width:10px;height:10px;flex-shrink:0;border-radius:50%;margin-right:8px}
.project-name-link{font-size:13px;font-weight:600;text-align:left;padding:9px 0;color:#234e32}
.time-cell{padding:9px 6px;font-size:13px;font-variant-numeric:tabular-nums;text-decoration:underline;text-decoration-color:#b0c3b5;text-underline-offset:4px}
.search-label{margin:0;min-width:290px}.search-label input{margin-top:7px}
.check-label{display:flex;align-items:center;gap:8px;margin:20px 0 0;font-size:12px}.check-label input{width:16px;margin:0}
.wide-dialog{width:900px;max-height:88vh}
.range-summaries{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}
.range-summary{border:1px solid #b5c5b9;border-radius:8px;background:#fff;text-align:left;padding:17px 14px;color:#405b47}
.range-summary span{font-size:12px}.range-summary strong{display:block;font-size:24px;margin-top:10px;font-weight:600}
.range-summary.selected{background:#dcebe1;border-color:#447956;color:#193f27}
.entry-date{padding:14px 20px 0;font-size:11px;color:#506659}
.wide-dialog .entry{flex-wrap:nowrap}.wide-dialog .entry-body{min-width:120px}
.catalog-row{padding:20px;display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid #dce3dd}.catalog-row:last-child{border-bottom:0}
.catalog-row strong{font-size:14px}.catalog-row small{font-size:12px;color:#53665a;margin-top:9px}.catalog-row .badge{margin-left:10px}
.catalog-actions{display:flex;align-items:center;gap:12px}.catalog-actions .secondary{font-size:11px}
#catalog-error{font-size:12px;color:#9b341a}
#catalog-color{height:45px;padding:5px;cursor:pointer}
@media(max-width:760px){.range-summaries{grid-template-columns:repeat(2,1fr)}.range-summary strong{font-size:21px}.catalog-row{align-items:flex-start;flex-direction:column}.catalog-actions{width:100%;justify-content:flex-end}.wide-dialog{padding:20px}.wide-dialog .entry{flex-wrap:wrap}.project-table th,.project-table td{padding:12px}.search-label{min-width:0;width:100%}}
.project-color-chip{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:8px;vertical-align:middle}

/* Breadcrumbs follow the page hierarchy and provide real navigation. */
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;line-height:1.6}
.breadcrumb span{margin:0;color:#617268}
.breadcrumb a{color:#27563a;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.breadcrumb b{color:#243e2c;font-weight:600}
main{padding-bottom:28px}
.range-summaries{grid-template-columns:repeat(3,minmax(0,1fr))}
.filter-result{font-size:12px;color:#435b4a;margin-top:20px;margin-left:auto}
.project-entry-filters{padding:18px 0;border-bottom:1px solid #cbd4ce}
@media(max-width:760px){.range-summaries{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-result{margin-left:0}}

/* Project list: selectable composition and an explicit header boundary. */
.project-table thead th{border-bottom:2px solid #879e8e}
.overview-view-control{margin-left:auto;display:flex;flex-direction:column;gap:7px}
.overview-view-control>span{font-size:11px;font-weight:500;color:#354f3f}
.inline-customer{font-weight:500;color:#3e5446}
.name-separator{color:#5a6e60;margin:0 4px}
@media(max-width:760px){.overview-view-control{margin-left:0;width:100%}.overview-view-control .segmented{align-self:flex-start}}

/* Sort controls remain part of the existing table header. */
.table-sort{padding:0;font:inherit;letter-spacing:inherit;font-weight:600;display:inline-flex;gap:8px;align-items:center;color:inherit;text-align:inherit}
.table-sort span{font-size:13px;color:#365540}
.project-table thead th[aria-sort="ascending"],.project-table thead th[aria-sort="descending"]{color:#173f29}

/* Project detail: note on the left, shared activity control on the right. */
.project-entry-note{flex:1;min-width:140px;padding:0;text-align:left;font-size:13px;line-height:1.6;color:#465c4d;white-space:normal;overflow-wrap:anywhere}
.project-entry-note.missing{color:#825914}

/* Project statistics stay separate from one cohesive list filter panel. */
.project-filter-panel{background:#fff;border:1px solid #bbc9c0;border-radius:12px;padding:20px;margin:26px 0 16px}
.project-period-tabs{display:flex;flex-wrap:wrap;width:fit-content;gap:4px}
.project-period-tabs button{font-size:12px;padding:9px 12px}
.project-filter-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:18px 24px;margin-top:20px}
.project-filter-controls .search-label{flex:1;min-width:240px;max-width:400px}
.project-filter-controls .check-label{margin:0 0 12px;font-size:12px}
.project-filter-summary{display:flex;align-items:center;gap:10px;margin-top:20px;color:#294c35;font-size:13px}
.project-filter-summary strong{font-weight:600}
.custom-date-range{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-top:18px}
.custom-date-range label{margin:0;min-width:170px}
.custom-date-range input{margin-top:7px}
.date-range-hint{font-size:11px;color:#52665a;margin-bottom:12px}
.range-error{color:#943b1c;font-size:12px;line-height:1.6;margin:8px 0 0}
.range-error:empty{display:none}
@media(max-width:760px){.project-filter-panel{padding:16px}.project-filter-controls{align-items:flex-start;flex-direction:column;gap:16px}.project-filter-controls .search-label{min-width:0;max-width:none;width:100%}.project-filter-controls .check-label{margin:0}.custom-date-range label{flex:1;min-width:125px}.date-range-hint{margin-bottom:0}}

/* Project entries share the project overview's table treatment. */
.entry-table th:not(:first-child),.entry-table td:not(:first-child){text-align:left}
.entry-table th:last-child,.entry-table td:last-child{text-align:right}
.entry-table td{font-variant-numeric:tabular-nums;vertical-align:middle}
.entry-table .entry-note-cell{width:100%;min-width:220px;white-space:normal}
.entry-table .project-entry-note{min-width:0;font-size:13px}
.entry-table .activity-chip{margin-left:0}
.entry-table .entry-duration{font-size:12px;white-space:nowrap}
.entry-table tbody tr:hover{background:#f5f8f6}

/* Six project totals and one lifetime billing breakdown. */
.project-statistics-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;margin:25px 0}
.project-statistics-layout .range-summaries{margin:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,1fr)}
.project-statistics-layout .range-summary{display:flex;flex-direction:column;justify-content:center;padding:17px 14px}
.project-statistics-layout .range-summary strong{font-size:23px}
.project-billing-chart{background:white;border:1px solid #bbc9c0;border-radius:12px;padding:18px}
.project-billing-chart h2{font-size:13px;font-weight:600;margin:0 0 14px;color:#2b4433}
.billing-donut{width:132px;height:132px;border-radius:50%;margin:0 auto 17px;position:relative;background:conic-gradient(#206347 0 var(--processed-share),#d98824 var(--processed-share) 100%);display:grid;place-items:center}
.billing-donut.empty-donut{background:#dce3dd}
.billing-donut-center{width:95px;height:95px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}
.billing-donut-center strong{font-size:20px;font-weight:600;color:#243f2e;font-variant-numeric:tabular-nums}
.billing-donut-center span{font-size:10px;color:#53665a;margin-top:5px}
.billing-chart-legend{display:grid;gap:11px}
.billing-chart-legend>div{display:flex;align-items:center;gap:7px;font-size:11px;color:#3e5144}
.chart-key{width:9px;height:9px;flex-shrink:0;border-radius:50%}
.chart-key.processed{background:#206347}.chart-key.open{background:#d98824}
.billing-chart-legend strong{margin-left:auto;text-align:right;font-size:12px;font-weight:600;white-space:nowrap}
.billing-chart-legend small{display:block;margin-top:2px;font-size:10px;color:#53665a;font-weight:400}
.chart-empty-label{font-size:11px;color:#53665a;text-align:center;margin:12px 0 0}
@media(max-width:1100px){.project-statistics-layout{grid-template-columns:minmax(0,1fr) 250px;gap:12px}.project-statistics-layout .range-summary{padding:14px 10px}.project-statistics-layout .range-summary strong{font-size:21px}.project-statistics-layout .range-summary span{font-size:11px}.project-billing-chart{padding:15px}}
@media(max-width:850px){.project-statistics-layout{grid-template-columns:1fr}.project-statistics-layout .range-summaries{grid-template-columns:repeat(3,minmax(0,1fr))}.project-billing-chart{max-width:none}.billing-chart-legend{max-width:300px;margin:auto}}
@media(max-width:480px){.project-statistics-layout .range-summaries{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}}

/* Ring and legend share the same hover, focus and pinned selection. */
.billing-donut.interactive-donut{background:none}
.billing-ring{width:140px;height:140px;position:absolute;inset:-4px;overflow:visible}
.interactive-donut .billing-donut-center{pointer-events:none;position:relative;width:90px;height:90px}
.billing-segment{fill:none;stroke-width:18;cursor:pointer;pointer-events:stroke;transition:opacity .15s,stroke-width .15s}
.billing-segment.processed{stroke:#206347}.billing-segment.open{stroke:#d98824}
.billing-empty-ring{fill:none;stroke:#dce3dd;stroke-width:18}
.billing-legend-row{display:flex;align-items:center;gap:7px;font-size:11px;color:#3e5144;text-align:left;width:100%;padding:5px 4px;margin:-5px -4px;box-sizing:content-box;border-radius:4px}
.project-billing-chart[data-highlight="processed"] .billing-segment.open,.project-billing-chart[data-highlight="open"] .billing-segment.processed{opacity:.25}
.project-billing-chart[data-highlight="processed"] .billing-segment.processed,.project-billing-chart[data-highlight="open"] .billing-segment.open{stroke-width:23}
.project-billing-chart[data-highlight="processed"] .billing-legend-row[data-billing-part="processed"],.project-billing-chart[data-highlight="open"] .billing-legend-row[data-billing-part="open"]{background:#e2eee6;color:#183e29;box-shadow:inset 0 0 0 1px #9ab5a2}
.billing-segment:focus-visible{outline:none;stroke-width:24;filter:drop-shadow(0 0 2px #173f29)}
.billing-donut-center span{max-width:88px;text-align:center;line-height:1.3;overflow-wrap:anywhere}

/* Customer pages reuse project statistics, filters and table controls. */
.customer-heading-link{color:#2c5e3e;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.customer-view-tabs{width:fit-content;margin:26px 0 18px}
.customer-view-tabs button{font-size:13px;padding:10px 18px}
.customer-project-search{margin-top:20px;align-items:flex-end}
.customer-project-count{font-size:12px;color:#435b4a;margin-bottom:12px}
.customer-project-filter{margin:0;min-width:180px;max-width:260px;font-size:11px}
.customer-project-filter select{margin-top:7px;padding:11px;font-size:12px;color:#273f2f}
.customer-entry-table .entry-project-cell{min-width:130px;max-width:190px;white-space:normal}
.customer-entry-table .entry-project-cell .project-name-link{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:760px){.customer-project-filter{width:100%;max-width:none}.customer-view-tabs{margin-top:22px}}
.customer-entry-table .entry-project-cell{min-width:165px;max-width:200px}
.customer-entry-table .entry-project-cell .project-name-link{overflow-wrap:normal;word-break:normal}

/* The unit switch applies only to the billing chart. */
.billing-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.billing-chart-heading h2{margin:0}
.billing-unit-switch{padding:3px;gap:2px;flex-shrink:0}
.billing-unit-switch button{min-width:26px;padding:4px 6px;font-size:12px;line-height:1.2}
.money-view .billing-donut-center strong{font-size:13px;white-space:nowrap}
.money-view .billing-chart-legend strong{font-size:11px}

/* Readable catalogue context without widely spaced capital lettering. */
#catalog-dialog .modal-head .eyebrow{font-size:14px;font-weight:600;letter-spacing:0;color:#344e3d;line-height:1.5}

/* Project actions: compact start in the header, familiar running timer below. */
#header-actions{margin-left:20px;flex-shrink:0}
.header-timer-start{border:1px solid #8da896;border-radius:7px;background:#edf5ef;color:#245335;font-size:12px;font-weight:600;padding:10px 14px;white-space:nowrap}
.header-timer-start:disabled{opacity:.55;cursor:default}
.header-timer-running{display:flex;align-items:center;gap:8px;color:#245335;font-size:12px;white-space:nowrap}
.header-timer-running .live-dot{background:#348653;margin:0}
.header-timer-running strong{font-variant-numeric:tabular-nums;font-weight:600}
.page-heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){main>header{height:auto;min-height:70px;flex-wrap:wrap;gap:10px;padding:14px 0}#header-actions{margin-left:auto}.header-timer-running{font-size:11px}.header-timer-start{padding:8px 10px;font-size:11px}.page-heading-actions{gap:8px}.page-heading-actions .secondary,.page-heading-actions .primary{padding:10px;font-size:11px}}

/* Shared Excel export: settings and scope above one preview. */
#export-dialog{width:1080px;max-height:90vh;padding:26px;overflow:auto}
.export-dialog-context{font-size:13px;font-weight:600;color:#35513e}
.export-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(320px,1fr);gap:30px;margin-top:20px}
.export-settings .form-row label{min-width:0;margin-top:0}
.export-settings input[readonly]{background:#f0f4f1;color:#3c5745}
.export-option{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.5;font-weight:400;margin-top:16px;color:#2f4938}
.export-option input[type=checkbox]{display:inline-block;width:16px;height:16px;flex-shrink:0;padding:0;margin:1px 0 0}
.export-processing{border-top:1px solid #cbd4ce;margin-top:22px;padding-top:3px}
.export-selection-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.export-selection-head h3,.export-preview-heading h3{font-size:14px;font-weight:600;margin:0}
.export-selection-head .text-button{padding:4px 6px}
.export-search-label{margin-top:12px}
.export-tree{height:285px;overflow:auto;border:1px solid #b7c8bd;border-radius:8px;margin-top:12px;background:#fff}
.export-tree summary{display:flex;align-items:center;gap:7px;padding:10px 12px;font-size:12px;cursor:pointer;list-style:none;background:#f3f6f3;border-bottom:1px solid #e0e7e1}
.export-tree summary:before{content:'›';display:inline-block;width:10px;flex-shrink:0;font-size:16px;color:#355c42}
.export-tree details[open]>summary:before{content:'⌄'}
.export-tree summary::-webkit-details-marker{display:none}
.export-tree input{width:15px;height:15px;flex-shrink:0;margin:0 3px 0 0}
.export-tree .color-dot,.export-tree .project-color-chip{margin:0;width:8px;height:8px}
.export-tree .export-projects>details>summary{padding-left:27px;background:#fff}
.export-activities{padding:4px 15px 9px 64px}
.export-activities label{display:flex;gap:8px;align-items:center;font-size:11px;line-height:1.5;font-weight:400;margin:9px 0}
.export-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:27px 0 12px}
.export-preview-heading .project-filter-summary{margin:0}
.export-preview{max-height:300px;overflow:auto}
.export-preview-table thead{position:sticky;top:0;z-index:1}
.export-preview-table td,.export-preview-table th{padding:11px;font-size:11px}
.export-preview-table td:not(:first-child),.export-preview-table th:not(:first-child){text-align:left}
.export-preview-table td:last-child,.export-preview-table th:last-child{text-align:right}
.export-preview-table small{white-space:normal;max-width:260px;overflow-wrap:anywhere}
.export-preview-limit{font-size:11px;padding:0 12px;color:#4b6253}
#export-result{font-size:12px;color:#285537;line-height:1.6;margin-bottom:0}
#export-result a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.page-heading-actions{max-width:65%}
@media(max-width:760px){#export-dialog{padding:20px}.export-layout{grid-template-columns:1fr;gap:25px}.export-preview-heading{align-items:flex-start;flex-direction:column}.page-heading-actions{max-width:55%}.export-settings .form-row{flex-direction:row}.export-settings .form-row label{width:50%}.export-tree{height:260px}}
#export-dialog .modal-actions{position:sticky;bottom:-26px;background:white;padding:14px 0 5px;border-top:1px solid #d5dfd8;z-index:2}
@media(max-width:760px){#export-dialog .modal-actions{bottom:-20px}}
.export-preview-heading .project-filter-summary{flex-wrap:wrap;justify-content:flex-end}

/* Export dialog: larger reading and interaction sizes. */
#export-dialog{width:1180px;max-height:92vh;font-size:15px;line-height:1.5}
#export-dialog h2{font-size:27px;line-height:1.3;margin-top:20px}
#export-dialog .export-dialog-context{font-size:15px;color:#304b39}
#export-dialog label{font-size:14px;line-height:1.5}
#export-dialog input:not([type=checkbox]){font-size:15px;min-height:46px;padding:11px 12px}
#export-dialog input[type=checkbox]{width:19px;height:19px;min-width:19px;margin-top:1px}
#export-dialog .export-layout{gap:32px;grid-template-columns:minmax(340px,.85fr) minmax(360px,1fr)}
#export-dialog .export-option{font-size:15px;line-height:1.55;gap:11px;margin-top:19px}
#export-dialog .export-option input{margin-top:2px}
#export-dialog .export-selection-head h3,#export-dialog .export-preview-heading h3{font-size:17px;line-height:1.4}
#export-dialog .text-button{font-size:14px;min-height:38px;padding:6px 9px}
#export-dialog .export-tree{height:340px}
#export-dialog .export-tree summary{font-size:15px;line-height:1.5;padding-top:12px;padding-bottom:12px;gap:9px;color:#263f2f}
#export-dialog .export-tree summary:before{font-size:19px;width:13px}
#export-dialog .export-activities label{font-size:14px;margin:13px 0;gap:10px}
#export-dialog .export-tree .badge{font-size:12px}
#export-dialog .export-summary,#export-dialog .project-filter-summary{font-size:15px;line-height:1.5;gap:11px}
#export-dialog .export-preview-table th{font-size:12px;letter-spacing:.6px;padding:13px 12px}
#export-dialog .export-preview-table td{font-size:14px;line-height:1.5;padding:13px 12px}
#export-dialog .export-preview-table small{font-size:13px;line-height:1.5;color:#475e4e;max-width:320px}
#export-dialog .export-preview{max-height:350px}
#export-dialog .export-preview-limit,#export-dialog .range-error,#export-dialog #export-result{font-size:14px;line-height:1.6}
#export-dialog .modal-actions button{font-size:15px;min-height:46px;padding:11px 19px}
#export-dialog .close:not(.secondary){font-size:28px;min-width:38px;min-height:38px}
@media(max-width:900px){#export-dialog .export-layout{grid-template-columns:1fr;gap:28px}#export-dialog .export-tree{height:300px}}
@media(max-width:480px){#export-dialog{padding:18px}#export-dialog .export-settings .form-row{flex-direction:column}#export-dialog .export-settings .form-row label{width:100%}#export-dialog .export-settings .form-row label+label{margin-top:16px}#export-dialog .export-selection-head{align-items:flex-start}#export-dialog .export-preview-heading .project-filter-summary{justify-content:flex-start}#export-dialog .modal-actions{bottom:-18px}}

/* Match editing dialogs to the approved export reading and control sizes. */
:is(#editor,#catalog-dialog,#activity-dialog){font-size:15px;line-height:1.5;max-height:92vh;overflow-y:auto}
:is(#editor,#catalog-dialog){width:620px}
#activity-dialog{width:510px;max-width:calc(100vw - 32px)}
:is(#editor,#catalog-dialog,#activity-dialog) h2{font-size:27px;line-height:1.3;margin-top:20px}
:is(#editor,#catalog-dialog,#activity-dialog) .modal-head .eyebrow{font-size:14px;font-weight:600;letter-spacing:0;line-height:1.5}
:is(#editor,#catalog-dialog,#activity-dialog) .muted{font-size:14px;line-height:1.6}
:is(#editor,#catalog-dialog) label{font-size:14px;line-height:1.5}
:is(#editor,#catalog-dialog) :is(input,select,textarea){font-size:15px;min-height:46px;padding:11px 12px;line-height:1.5}
#catalog-dialog input[type=color]{height:50px;padding:5px}
:is(#editor,#catalog-dialog) .modal-actions{flex-wrap:wrap}
:is(#editor,#catalog-dialog) .modal-actions button{font-size:15px;min-height:46px;padding:11px 19px}
:is(#editor,#catalog-dialog,#activity-dialog) .close:not(.secondary){font-size:28px;min-width:38px;min-height:38px}
#activity-dialog .activity-option{font-size:15px;line-height:1.5;min-height:46px}
#catalog-error{font-size:14px;line-height:1.6}
@media(max-width:480px){:is(#editor,#catalog-dialog,#activity-dialog){padding:18px}:is(#editor,#catalog-dialog) .form-row{flex-direction:column}:is(#editor,#catalog-dialog) .form-row label{width:100%}}

/* Readable page lists and filters; sidebar, statistics and dialogs stay scoped out. */
#content :is(.project-table,.billing-box table) th{font-size:14px;line-height:1.5;font-weight:600;letter-spacing:.5px;padding:16px 20px}
#content :is(.project-table,.billing-box table) td{font-size:14px;line-height:1.6;padding:16px 20px}
#content .project-table .customer-group th{font-size:15px;letter-spacing:0}
#content :is(.project-name-link,.time-cell){font-size:15px;line-height:1.5}
#content .customer-entry-table .entry-project-cell .project-name-link{font-size:15px}
#content .entry-table .project-entry-note{font-size:15px;line-height:1.6}
#content .billing-box td:nth-child(3){font-size:15px}
#content .billing-box td small{font-size:14px;line-height:1.5}
#content .billing-box .edit-link{font-size:14px;min-height:44px}
#content :is(.entry-list,.project-table,.billing-box,.catalog-list) .badge{font-size:14px;line-height:1.4;padding:5px 8px}
#content .entry{padding:20px;gap:16px}
#content .entry-time{font-size:14px;width:52px}
#content .entry-body :is(.client-label,h3,p){font-size:15px;line-height:1.5}
#content .entry-duration,#content .entry-table .entry-duration{font-size:14px;min-height:44px}
#content .activity-chip{font-size:14px;line-height:1.5;padding:10px 12px;min-height:44px}
#content .entry-date{font-size:14px;line-height:1.5}
#content .catalog-row strong{font-size:15px;line-height:1.5}
#content .catalog-row small{font-size:14px;line-height:1.5}
#content .catalog-actions button{font-size:14px;min-height:44px}
#content :is(.filterbar,.project-filter-panel,.customer-view-tabs) .segmented button,
#content .customer-view-tabs button{font-size:15px;line-height:1.5;min-height:44px;padding:10px 14px}
#content :is(.filterbar,.project-filter-panel) :is(label,.overview-view-control>span){font-size:14px;line-height:1.5}
#content :is(.filterbar,.project-filter-panel) :is(input:not([type=checkbox]),select){font-size:15px;line-height:1.5;min-height:46px;padding:11px 12px}
#content :is(.filterbar,.project-filter-panel) .check-label{font-size:14px;line-height:1.5;min-height:44px}
#content :is(.filterbar,.project-filter-panel,.billing-box) input[type=checkbox]{width:19px;height:19px;min-width:19px;flex-shrink:0}
#content :is(.filter-result,.project-filter-summary,.customer-project-count){font-size:15px;line-height:1.5}
#content :is(.date-range-hint,.range-error){font-size:14px;line-height:1.5}
#content .billing-total p{font-size:15px;line-height:1.5}
#content .billing-total small{font-size:14px}
#content .billing-total button{font-size:15px;min-height:46px}
#content :is(.project-table-scroll,.entry-list,.billing-box,.catalog-list) .empty{font-size:15px;line-height:1.6}
/* Let long billing descriptions wrap at the larger reading size. */
#content .billing-box :is(td:nth-child(2),td:nth-child(3)){white-space:normal;overflow-wrap:anywhere}
#content .billing-box td:nth-child(2){min-width:155px}
#content .billing-box td:nth-child(3){min-width:180px}
#content .billing-box :is(th,td){padding:16px 14px}

/* Project and customer statistics: readable labels, values and billing legend. */
.project-statistics-layout .range-summary span{font-size:14px;line-height:1.5}
.project-statistics-layout .range-summary strong{font-size:26px;line-height:1.3;font-weight:600}
.project-statistics-layout .project-billing-chart h2{font-size:17px;line-height:1.4}
.project-statistics-layout .billing-chart-heading{flex-wrap:wrap}
.project-statistics-layout .billing-unit-switch button{font-size:14px;min-width:34px;min-height:38px;padding:8px}
.project-statistics-layout .billing-donut{width:180px;height:180px}
.project-statistics-layout .billing-ring{width:188px;height:188px}
.project-statistics-layout .billing-donut-center{width:124px;height:124px}
.project-statistics-layout .billing-donut-center strong{font-size:20px;line-height:1.3;font-weight:600;white-space:nowrap}
.project-statistics-layout .billing-donut-center span{font-size:14px;line-height:1.35;max-width:118px}
.project-statistics-layout .billing-legend-row{display:grid;grid-template-columns:9px minmax(0,1fr);gap:4px 8px;font-size:14px;line-height:1.5}
.project-statistics-layout .billing-legend-row strong{grid-column:2;margin-left:0;text-align:left;font-size:15px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.project-statistics-layout .billing-legend-row small{display:inline-block;margin:0 0 0 8px;font-size:14px;line-height:1.5;white-space:nowrap}
.project-statistics-layout .chart-empty-label{font-size:14px;line-height:1.5}

/* Sidebar and breadcrumb: match the approved reading sizes without changing widths. */
.sidebar nav button{min-height:46px}
.sidebar nav button span{font-size:15px;line-height:1.5}
.sidebar nav i{font-size:14px;line-height:1.4;min-height:26px}
.sidebar .workspace>span{font-size:15px;line-height:1.5;min-width:0}
.sidebar .workspace small{font-size:14px;line-height:1.5}
.sidebar .nav-label{font-size:13px;font-weight:700;line-height:1.5;letter-spacing:.7px}
.breadcrumb{font-size:14px;line-height:1.6;gap:14px;min-width:0}
.breadcrumb :is(a,b){overflow-wrap:anywhere}
.breadcrumb b{font-weight:600}
.header-timer-start{font-size:14px;line-height:1.5;min-height:44px;padding:10px 14px}
.header-timer-running{font-size:14px;line-height:1.5;min-height:44px}

/* Page-heading actions match the approved dialog buttons. */
#content .page-heading :is(.primary,.secondary){font-size:15px;line-height:1.5;min-height:46px;padding:11px 19px}

/* Export formats and customer-specific column defaults. */
#export-dialog select{font-size:15px;line-height:1.5;min-height:46px;padding:11px 12px}
#export-dialog .export-profile-hint{font-size:14px;line-height:1.5;color:#475e4e;margin:10px 0}
#export-dialog .export-columns{border:1px solid #b7c8bd;border-radius:8px;padding:15px;margin:22px 0 14px;min-width:0}
#export-dialog .export-columns legend{font-size:14px;font-weight:600;padding:0 5px}
#export-dialog .export-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:12px}
#export-dialog .export-column-grid .export-option{margin:0;font-size:14px}
#export-dialog .export-column-presets{display:flex;flex-wrap:wrap;gap:3px}
#export-dialog #export-save-profile{font-size:15px;min-height:46px;padding:11px 19px}
#export-dialog .export-preview-table td{white-space:pre-wrap;min-width:110px;max-width:340px;overflow-wrap:anywhere}
#export-dialog .export-preview-table th{white-space:nowrap}
#export-dialog .export-preview-table :is(th,td):first-child{min-width:45px}
#login-dialog{width:520px;max-height:92vh;overflow-y:auto;padding:36px;font-size:15px;line-height:1.5}
#login-dialog::backdrop{background:#f6f7f9}
#login-dialog .eyebrow{font-size:15px;letter-spacing:0;color:#344e3d}
#login-dialog h2{font-size:27px;line-height:1.3}
#login-dialog .muted,#login-dialog .login-demo-hint{font-size:14px;line-height:1.6;color:#475e4e}
#login-dialog label{font-size:14px;line-height:1.5}
#login-dialog input{font-size:15px;min-height:46px;padding:11px 12px}
#login-dialog .primary{width:100%;font-size:15px;min-height:46px;padding:11px 19px;margin-top:12px}
.login-logout{font-size:14px;min-height:44px;margin-top:10px;color:#27563a;text-decoration:underline;text-underline-offset:3px}
@media(max-width:480px){#login-dialog{padding:24px}#export-dialog .export-column-grid{grid-template-columns:1fr}}
/* Keep the account action reachable on shorter windows. */
.sidebar{overflow-y:auto}

/* Keep per-export options compact; persistent defaults belong to the customer. */
#export-dialog .export-columns>summary{font-size:14px;font-weight:600;line-height:1.5;cursor:pointer;padding:3px 0}
#export-dialog .export-columns[open]>summary{margin-bottom:12px}
#catalog-dialog .customer-export-settings{margin-top:24px;border-top:1px solid #b7c8bd;padding-top:18px}
#catalog-dialog .customer-export-settings>summary{font-size:17px;font-weight:600;line-height:1.5;cursor:pointer}
#catalog-dialog #customer-export-fields{border:0;margin:0;padding:0;min-width:0}
#catalog-dialog #customer-export-fields[hidden]{display:none}
#catalog-dialog .customer-export-settings h3{font-size:14px;margin:22px 0 12px}
#catalog-dialog .customer-export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-top:14px}
#catalog-dialog .customer-export-check{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:14px}
#catalog-dialog #customer-export-grouped{margin-top:0}
#catalog-dialog label.customer-export-check:has(#customer-export-grouped){margin-top:20px}
#catalog-dialog .customer-export-check input{width:19px;height:19px;min-height:19px;min-width:19px;flex-shrink:0;margin:2px 0 0;padding:0}
#catalog-dialog .customer-export-presets{display:flex;flex-wrap:wrap;gap:8px}
#catalog-dialog .customer-export-presets button{font-size:14px;min-height:38px;padding:6px 9px}
@media(max-width:480px){#catalog-dialog .customer-export-grid{grid-template-columns:1fr}}

/* Reusable template selection stays in a fixed second column. */
#catalog-dialog.catalog-two-column{width:1040px}
.catalog-two-column .catalog-edit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;margin-top:24px;align-items:start}
#catalog-dialog .catalog-edit-grid h3{font-size:17px;line-height:1.5;margin:0 0 18px;font-weight:600}
#catalog-dialog .catalog-edit-grid section>label:first-of-type{margin-top:0}
.catalog-template-panel{border-left:1px solid #cbd6ce;padding-left:30px;min-height:350px}
.template-description{min-height:190px;overflow-wrap:anywhere}
.template-description p{font-size:14px;line-height:1.6;color:#405b49;margin:16px 0}
.template-inheritance strong{display:block;font-size:17px;color:#243f2e;margin-top:5px}
.template-column-description{max-width:100%}
.template-panel-actions{display:flex;gap:10px;flex-wrap:wrap}
#catalog-dialog .template-panel-actions button{font-size:14px;line-height:1.5;min-height:44px;padding:10px 12px}
#catalog-dialog .modal-actions{position:sticky;bottom:-30px;background:#fff;padding:14px 0 5px;border-top:1px solid #d5dfd8;z-index:1}
.template-default-control{max-width:420px;margin:0 0 24px}
.template-default-control label{font-size:14px;line-height:1.5}
.template-default-control select{font-size:15px;min-height:46px}
.template-list-columns{font-size:14px;line-height:1.6;color:#475e4e;margin:10px 0 0;max-width:640px}
#template-dialog{width:1000px;max-height:92vh;overflow:auto;font-size:15px;line-height:1.5}
#template-dialog .eyebrow{font-size:14px;letter-spacing:0;font-weight:600;color:#344e3d}
#template-dialog h2{font-size:27px;line-height:1.3;margin-top:20px}
#template-dialog h3{font-size:17px;line-height:1.5;margin:0 0 15px}
#template-dialog .close:not(.secondary){font-size:28px;min-width:38px;min-height:38px}
#template-dialog .muted,#template-dialog .template-shared-hint{font-size:14px;line-height:1.6;color:#475e4e}
.template-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;margin-top:24px}
#template-dialog label{font-size:14px;line-height:1.5}
#template-dialog section>label:first-child{margin-top:0}
#template-dialog :is(input:not([type=checkbox]),select){font-size:15px;line-height:1.5;min-height:46px;padding:11px 12px}
.template-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:20px}
#template-dialog .template-column-check{display:flex;align-items:flex-start;gap:9px;margin:0}
#template-dialog .template-column-check input{width:19px;height:19px;min-width:19px;flex-shrink:0;margin:2px 0 0;padding:0}
.template-column-presets{display:flex;flex-wrap:wrap;gap:6px}
#template-dialog .text-button{font-size:14px;min-height:38px;padding:6px 9px}
#template-dialog .modal-actions{position:sticky;bottom:-30px;background:#fff;padding:14px 0 5px;border-top:1px solid #d5dfd8;z-index:1;flex-wrap:wrap}
#template-dialog .modal-actions button{font-size:15px;min-height:46px;padding:11px 19px}
#template-error{font-size:14px;line-height:1.5;color:#825914}
@media(max-width:760px){.catalog-two-column .catalog-edit-grid,.template-editor-grid{grid-template-columns:1fr;gap:26px}.catalog-template-panel{border-left:0;border-top:1px solid #cbd6ce;padding:24px 0 0;min-height:0}.template-description{min-height:0}#catalog-dialog .modal-actions{bottom:-18px}#template-dialog .modal-actions{bottom:-30px}}
@media(max-width:480px){.template-column-grid{grid-template-columns:1fr}#template-dialog{padding:18px}#template-dialog .modal-actions{bottom:-18px}}

/* Real account menu with a labelled logout action. */
.user-account{border-top:1px solid var(--line);padding-top:12px;margin-top:16px}
.sidebar .profile{border:0;padding:10px 0;width:100%;min-height:54px;text-align:left;gap:10px;border-radius:7px;color:#2c4834}
.sidebar .profile:hover,.sidebar .profile[aria-expanded=true]{background:#edf4ef}
.sidebar .profile:focus-visible{outline:2px solid #206347}
.account-avatar{display:grid;place-items:center;background:#ede8e0;border-radius:50%;width:36px;height:36px;flex-shrink:0}
.account-avatar svg{width:21px;height:21px}
.sidebar .profile .account-name{font-size:15px;font-weight:600;line-height:1.4;min-width:0;flex:1}
.sidebar .profile small{font-size:13px;line-height:1.4;margin-top:3px}
.account-chevron{width:18px;height:18px;flex-shrink:0;transition:transform .15s}
.profile[aria-expanded=true] .account-chevron{transform:rotate(180deg)}
#account-menu{position:fixed;inset:auto;margin:0;padding:6px;border:1px solid #a8bcae;border-radius:8px;background:#fff;color:#243f2e;box-shadow:0 8px 25px #183d2926;max-width:calc(100vw - 16px)}
#account-menu::backdrop{background:transparent}
#account-menu button{display:flex;align-items:center;gap:12px;width:100%;font-size:15px;line-height:1.5;min-height:46px;padding:11px 12px;border-radius:5px;text-align:left}
#account-menu button:hover,#account-menu button:focus-visible{background:#e2eee6;color:#173f29;outline:none}
#account-menu svg{width:21px;height:21px;flex-shrink:0}

/* One connection status for the entire read-only live view. */
#live-connection-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:16px 0 24px;color:#35533f;font-size:14px;line-height:1.5}
#live-connection-status .text-button{font-size:14px;min-height:38px}
#live-connection-status.has-error{color:#825914}
#content button:disabled,#header-actions button:disabled{cursor:not-allowed;opacity:.55}
#entry-form button[hidden]{display:none}
#login-error{font-size:14px;line-height:1.5;color:#825914;margin:16px 0 0}
#login-error:empty{display:none}
#login-dialog .primary:disabled{opacity:.6;cursor:wait}
#entry-write-error,#activity-write-error{font-size:14px;line-height:1.5;color:#825914}
#entry-write-error:empty,#activity-write-error:empty{display:none}
/* Time correction and Tyme-style quick actions. */
.clock-split{display:inline-flex;align-items:stretch;gap:2px;flex-shrink:0}
.clock-arrow{font-size:15px;min-width:36px;min-height:44px;padding:8px;border:1px solid #8da896;border-radius:6px;background:#edf5ef;color:#245335}
.clock-running-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.clock-adjust{font-size:14px;min-height:44px;padding:10px 12px;border:1px solid #c2d6ca;border-radius:7px;color:#fff}
.clock-stop-arrow{background:#fff;color:#a43c2d;border-color:#e0c9c4}
.project-card .clock-split .play{width:auto;min-height:44px;padding:10px 12px}
.timer-right{flex-wrap:wrap}
#clock-menu{position:fixed;inset:auto;margin:0;max-height:70vh;overflow:auto;width:310px;max-width:calc(100vw - 16px);border:1px solid #a8bcae;border-radius:8px;padding:7px;background:#fff;color:#243f2e;box-shadow:0 8px 25px #183d2926}
#clock-menu::backdrop{background:transparent}
#clock-menu button{display:block;text-align:left;width:100%;font-size:15px;line-height:1.5;min-height:44px;padding:9px 12px;border-radius:5px}
#clock-menu button:hover,#clock-menu button:focus-visible{background:#e2eee6;outline:none}
#clock-menu small{font-size:13px;color:#475e4e;line-height:1.5}
.clock-menu-title{font-size:14px;font-weight:600;color:#475e4e;margin:8px 12px}
#clock-dialog{width:820px;max-height:92vh;overflow:auto;font-size:15px;line-height:1.5}
#clock-dialog h2{font-size:27px;line-height:1.3;margin-top:20px}
#clock-dialog .eyebrow{font-size:14px;font-weight:600;letter-spacing:0;color:#344e3d}
#clock-dialog .close:not(.secondary){font-size:28px;min-width:38px;min-height:38px}
#clock-dialog label{font-size:14px;line-height:1.5}
#clock-dialog :is(input:not([type=checkbox]),select,textarea){font-size:15px;line-height:1.5;min-height:46px;padding:11px 12px}
#clock-dialog :is(input[readonly],select:disabled){background:#f3f6f4;color:#475e4e}
.clock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.clock-timezone,.clock-switch-hint{font-size:14px;line-height:1.6;color:#475e4e}
.clock-trim{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin:18px 0}
#clock-dialog .clock-trim label{margin:0;width:110px}
.clock-trim>span{margin-bottom:12px;font-size:14px}
#clock-dialog .clock-trim button,#entry-time-adjust{font-size:14px;min-height:44px;padding:10px 12px}
#entry-time-adjust{margin-top:18px}
.clock-overlap-box{margin-top:20px;padding:15px;border:1px solid #bd9849;background:#fff4da;border-radius:8px;color:#634710;font-size:14px;line-height:1.6}
.clock-overlap-box ul{padding-left:20px;margin:10px 0}
#clock-dialog .clock-overlap-check{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0}
#clock-dialog .clock-overlap-check input{width:19px;height:19px;min-width:19px;flex-shrink:0;margin:2px 0 0}
#clock-error{font-size:14px;line-height:1.6;color:#825914}
#clock-error:empty{display:none}
#clock-dialog .modal-actions{position:sticky;bottom:-30px;background:#fff;border-top:1px solid #d5dfd8;padding:14px 0 5px;flex-wrap:wrap;z-index:1}
#clock-dialog .modal-actions button{font-size:15px;min-height:46px;padding:11px 19px}
#clock-confirm:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.clock-running-actions{width:100%}.clock-grid{grid-template-columns:1fr}#clock-dialog{padding:20px}#clock-dialog .modal-actions{bottom:-20px}}
/* Local billing-duration prototype, matching the export dialog scale. */
#billing-adjustment-dialog{width:min(1250px,94vw);max-width:94vw;padding:36px;max-height:92vh;overflow:auto;border:1px solid #b9c9c0;border-radius:18px;color:#192a22;background:#fff}
#billing-adjustment-dialog::backdrop{background:#142c245c;backdrop-filter:blur(6px)}
#billing-adjustment-dialog h2{font-size:30px;margin:22px 0 12px}
#billing-adjustment-dialog :is(button,input){font:inherit;font-size:17px;min-height:46px}
#billing-adjustment-dialog .modal-actions{position:sticky;bottom:-36px;background:white;padding:20px 0;margin-bottom:0}
.billing-intro,.billing-prototype{font-size:17px;line-height:1.5;color:#42584a}
.billing-summary{display:flex;flex-wrap:wrap;gap:36px;background:#edf3ef;border:1px solid #b4c8bb;border-radius:10px;padding:20px;margin:22px 0}
.billing-summary span{display:block;font-size:16px;color:#405448;margin-bottom:6px}.billing-summary strong{font-size:25px;color:#172c20}
.billing-table-scroll{max-height:47vh}.billing-table{width:100%;min-width:850px}.billing-table th{font-size:16px!important;border-bottom:2px solid #9bb3a4}.billing-table td{font-size:18px!important;vertical-align:top;padding:20px 16px!important}.billing-table td:first-child{width:44%}.billing-table small{display:block;font-size:15px;line-height:1.5;color:#42584a;margin-bottom:8px}.billing-table strong{display:block;font-size:19px}.billing-table p{font-size:17px;margin:8px 0 0;white-space:pre-wrap}.billing-table td:nth-child(2),.billing-table td:last-child{white-space:nowrap}
.billing-options{display:flex;gap:7px;margin-bottom:10px}.billing-options button{padding:8px 13px;white-space:nowrap}.billing-options button[aria-pressed=true]{background:#206347!important;color:white!important;border-color:#206347!important}.billing-custom{display:flex;align-items:center;gap:12px;font-size:16px!important}.billing-custom input{width:100px;padding:8px 10px;border:1px solid #829d8b;border-radius:7px}.billing-changed td:last-child{font-weight:700;color:#205b3c}
#billing-result{font-size:17px;color:#205b3c;line-height:1.5}
@media(max-width:700px){#billing-adjustment-dialog{padding:22px}.billing-summary{gap:20px}#billing-adjustment-dialog .modal-actions{bottom:-22px}}

/* Compact, consistently aligned billing choices. */
#billing-adjustment-dialog .billing-table{table-layout:fixed;min-width:1100px}
#billing-adjustment-dialog .billing-table :is(th,td){text-align:left!important;padding:13px 14px!important}
#billing-adjustment-dialog .billing-table td:first-child{width:auto}
#billing-adjustment-dialog .billing-table small{margin-bottom:4px}
#billing-adjustment-dialog .billing-table p{margin-top:4px}
#billing-adjustment-dialog .billing-options{align-items:center;flex-wrap:wrap;gap:7px;margin:0}
#billing-adjustment-dialog .billing-options button{min-height:42px;font-size:16px;padding:8px 11px}
#billing-adjustment-dialog .billing-options [data-billing-custom][aria-pressed=true]{background:#206347;color:#fff;border-color:#206347}
#billing-adjustment-dialog .billing-custom{gap:6px;margin:0;font-weight:400}
#billing-adjustment-dialog .billing-custom[hidden]{display:none!important}
#billing-adjustment-dialog .billing-custom input{width:82px;min-height:42px}

/* Clear initial authentication/data loading feedback. */
.live-loading{min-height:300px;display:flex;align-items:center;justify-content:center;gap:18px;padding:48px 24px;color:#203c2d;text-align:center}
.live-loading p{margin:0;font-size:26px;font-weight:600;line-height:1.45}
.live-loading-spinner{flex:0 0 34px;width:34px;height:34px;border:4px solid #ccdcd2;border-top-color:#206347;border-radius:50%;animation:zeitreg-loading-spin .8s linear infinite}
@keyframes zeitreg-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.live-loading-spinner{animation-duration:2s}}
@media(max-width:650px){.live-loading{gap:14px}.live-loading p{font-size:22px}}

.billing-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:24px}
#billing-bottom-delta{flex-shrink:0;font-size:25px;font-weight:700;color:#203c2d;white-space:nowrap}
@media(max-width:650px){.billing-preview-footer{flex-wrap:wrap}#billing-bottom-delta{margin-left:auto}}

#export-history-dialog{width:min(1100px,94vw);max-width:94vw;max-height:90vh;overflow:auto;padding:32px;border:1px solid #b9c9c0;border-radius:18px;color:#192a22;background:#fff;font-size:17px}
#export-history-dialog::backdrop{background:#142c245c;backdrop-filter:blur(6px)}
.billing-history-item{border-top:1px solid #b9c9c0;padding:18px 0}.billing-history-item summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;line-height:1.5}.billing-history-item td{vertical-align:top}.billing-history-item td p{margin:6px 0;font-size:16px}
