:root{--ink:#17231f;--muted:#68736e;--paper:#f5f2eb;--card:#fff;--line:#dedfd9;--green:#c8ef74;--green-dark:#30543c;--amber:#f2b84b;--red:#d75b51;--blue:#7da4d8;--shadow:0 18px 50px rgba(26,38,32,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% -10%,#dceccf 0,transparent 32%),var(--paper)}
button,input,select,textarea{font:inherit}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));background:rgba(245,242,235,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(23,35,31,.08);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand strong{display:block;font-size:17px;letter-spacing:-.02em}
.brand small{display:block;color:var(--muted);font-size:11px;margin-top:1px}
.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--ink);display:grid;place-items:center;position:relative}
.brand-mark:before,.brand-mark:after,.brand-mark span{content:"";display:block;position:absolute;background:var(--green);border-radius:10px}
.brand-mark:before{width:5px;height:19px;transform:rotate(25deg);left:12px}
.brand-mark:after{width:5px;height:14px;transform:rotate(-28deg);right:11px;bottom:8px}
.icon-btn{border:0;width:42px;height:42px;border-radius:14px;background:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 7px 20px rgba(30,40,34,.07)}
.icon-btn svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
main{max-width:1180px;margin:0 auto;padding:32px 24px 110px}
.view{display:none}
.view.active{display:block;animation:fade .25s ease}
@keyframes fade{from{opacity:.3;transform:translateY(5px)}
}
.hero-card{background:var(--ink);border-radius:28px;padding:30px;color:#fff;display:grid;grid-template-columns:1fr auto;gap:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.hero-card:after{content:"";width:300px;height:300px;border:55px solid rgba(200,239,116,.08);border-radius:50%;position:absolute;right:-130px;top:-155px}
.hero-card h1,.page-title h1{font-size:clamp(28px,4vw,44px);line-height:1;margin:8px 0 12px;letter-spacing:-.045em}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:750;font-size:11px;margin:0;color:#789083}
.hero-card .eyebrow{color:var(--green)}
.muted{color:#afb8b3;margin:0}
.live-clock{font-size:26px;font-variant-numeric:tabular-nums;font-weight:700;z-index:1}
.timer-panel{grid-column:1/-1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:1}
.timer-status{display:block;color:#c9d0cc;font-size:13px;margin-bottom:4px}
.timer-value{font-size:28px;font-variant-numeric:tabular-nums}
.primary,.secondary{border:0;border-radius:13px;padding:13px 18px;font-weight:750;cursor:pointer}
.primary{background:var(--green);color:var(--ink)}
.primary:hover{filter:brightness(.97);transform:translateY(-1px)}
.primary.small{padding:10px 15px}
.action-btn{min-width:190px}
.play-icon{margin-right:7px}
.section-heading,.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:34px 0 17px}
.section-heading.compact{margin-bottom:12px}
.section-heading h2,.page-title h2{margin:5px 0 0;letter-spacing:-.03em}
.text-btn{border:0;background:transparent;color:var(--green-dark);font-weight:750;cursor:pointer;padding:8px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat-card{background:var(--card);border:1px solid rgba(23,35,31,.07);border-radius:20px;padding:20px;min-height:138px;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(23,35,31,.04)}
.stat-card span{font-size:13px;color:var(--muted)}
.stat-card strong{font-size:30px;letter-spacing:-.05em;margin:auto 0 3px}
.stat-card small{color:var(--muted)}
.stat-card.dark{background:#26352f;color:#fff}
.stat-card.dark span,.stat-card.dark small{color:#bfc8c3}
.stat-card.accent{background:var(--green)}
.stat-card.accent span,.stat-card.accent small{color:#38513f}
.insight-card,.notice{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-top:15px}
.insight-icon{width:30px;height:30px;border-radius:50%;background:#e9f5cf;display:grid;place-items:center;font-weight:800;flex:none}
.insight-card p,.notice span{margin:4px 0 0;color:var(--muted);line-height:1.5}
.notice{background:#fff5dc;border-color:#ead6a8;margin:0 0 16px}
.notice strong{white-space:nowrap}
.hidden{display:none!important}
.upcoming-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.upcoming{background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;cursor:pointer}
.upcoming:hover{border-color:#a4b498}
.day-tile{width:43px;height:48px;border-radius:12px;background:#eef1eb;display:grid;place-items:center;font-weight:800}
.day-tile small{font-size:10px;font-weight:600;color:var(--muted);display:block}
.upcoming strong,.upcoming small{display:block}
.upcoming>small{color:var(--muted)}
.calendar-card,.settings-card,.report-sheet{background:#fff;border:1px solid rgba(23,35,31,.08);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.calendar-toolbar h2{margin:0;text-transform:capitalize}
.icon-btn.plain{background:transparent;box-shadow:none;font-size:25px}
.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.weekdays span{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:7px}
.cal-day{aspect-ratio:1.14;border:1px solid #e5e7e2;border-radius:14px;background:#fafaf8;padding:8px;text-align:left;cursor:pointer;position:relative;min-width:0}
.cal-day:hover{border-color:#92a987}
.cal-day.outside{opacity:.3}
.cal-day.today{outline:2px solid var(--ink);outline-offset:1px}
.cal-day .num{font-weight:750}
.cal-day .hours{display:block;font-size:10px;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.cal-day .balance{display:block;font-size:10px;font-weight:750;margin-top:3px}
.cal-day.holiday{background:#fff6e3}
.cal-day.leave{background:#eef4ff}
.cal-day.sick{background:#fff0ee}
.cal-day.work:after,.cal-day.leave:after,.cal-day.sick:after{content:"";width:6px;height:6px;border-radius:50%;position:absolute;right:8px;top:9px;background:var(--green-dark)}
.cal-day.leave:after{background:var(--blue)}
.cal-day.sick:after{background:var(--red)}
.legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;color:var(--muted);font-size:12px}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}
.dot.work{background:var(--green-dark)}
.dot.leave{background:var(--blue)}
.dot.sick{background:var(--red)}
.dot.holiday{background:var(--amber)}
.report-controls{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;display:flex;gap:14px;margin-bottom:16px}
.report-controls label{flex:1}
.report-sheet{box-shadow:none}
.report-head{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:14px}
.report-head h2{margin:5px 0}
.report-head>span{font-size:12px;color:var(--muted)}
.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.report-summary div{background:#f3f5f1;border-radius:12px;padding:12px}
.report-summary small,.report-summary strong{display:block}
.report-summary small{color:var(--muted);margin-bottom:5px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:12px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid #e5e7e2;white-space:nowrap}
th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.rest-section{margin-top:24px}
.rest-section h3{margin-bottom:5px}
.legal-note{color:var(--muted);font-size:12px}
.rest-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.signature{margin:55px 0 10px;display:flex;justify-content:flex-end;align-items:flex-end;gap:12px;font-size:12px;color:var(--muted)}
.signature span{display:block;width:220px;border-bottom:1px solid var(--ink)}
.profile-banner{background:var(--ink);color:#fff;border-radius:19px;padding:18px;display:flex;align-items:center;gap:15px}
.profile-banner span{color:#aeb8b3}
.profile-banner strong{font-size:20px}
.profile-banner .text-btn{margin-left:auto;color:var(--green)}
.rights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:15px}
.right-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}
.right-card .rule{font-size:28px;font-weight:850;letter-spacing:-.04em;margin:10px 0}
.right-card p{color:var(--muted);line-height:1.55}
.source{display:block;color:#68736e;font-size:11px;border-top:1px solid var(--line);padding-top:12px;margin-top:14px}
.legal-disclaimer{background:#fff5dc;border:1px solid #ead6a8;border-radius:18px;padding:18px;margin-top:15px}
.legal-disclaimer p{margin:5px 0;color:#665c47;line-height:1.5}
.settings-card{max-width:780px;margin-bottom:15px}
.settings-card label,.report-controls label,dialog label{display:block;font-size:12px;font-weight:700;color:#53615b}
.settings-card input,.settings-card select,.report-controls input,.report-controls select,dialog input,dialog select,dialog textarea{width:100%;border:1px solid #d8dbd6;border-radius:11px;background:#fafbf9;padding:11px 12px;margin-top:6px;color:var(--ink)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:13px 0}
.setting-line{display:flex;justify-content:space-between;align-items:center;gap:20px}
.setting-line small{display:block;color:var(--muted);margin-top:4px}
.status-pill,.badge{background:#e8f6ca;color:#355238;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800;letter-spacing:.07em}
.button-row{display:flex;gap:10px;margin-top:18px}
.secondary{background:#edf0eb;color:var(--ink)}
.file-label{display:inline-flex;align-items:center;justify-content:center}
.file-label input{display:none}
.family-preview{background:linear-gradient(135deg,#26352f,#34483f);color:#fff}
.family-preview p{color:#c4cec9;max-width:580px}
.family-preview .secondary{opacity:.6}
.bottom-nav{position:fixed;z-index:30;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:5px;background:rgba(23,35,31,.96);padding:7px;border-radius:19px;box-shadow:0 18px 50px rgba(0,0,0,.22);backdrop-filter:blur(12px)}
.bottom-nav button{border:0;background:transparent;color:#b5c0ba;border-radius:13px;padding:9px 15px;font-size:11px;cursor:pointer;min-width:78px}
.bottom-nav button span{display:block;font-size:18px;margin-bottom:3px}
.bottom-nav button.active{background:var(--green);color:var(--ink);font-weight:800}
dialog{border:0;border-radius:24px;padding:0;width:min(570px,calc(100% - 24px));box-shadow:0 25px 90px rgba(0,0,0,.25)}
dialog::backdrop{background:rgba(10,18,15,.58);backdrop-filter:blur(3px)}
dialog form{padding:23px}
.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}
.dialog-head h2{margin:5px 0 18px}
.dialog-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:9px;margin-top:18px}
.danger-link{border:0;background:transparent;color:#b73d36;cursor:pointer}
.toast{position:fixed;right:22px;bottom:100px;background:var(--ink);color:#fff;border-radius:12px;padding:12px 16px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:60}
.toast.show{opacity:1;transform:none}

.manual-entry-link{grid-column:1/-1;justify-self:start;border:0;background:transparent;color:#d7dfda;padding:0 2px;font-size:12px;font-weight:700;cursor:pointer;z-index:1}
.manual-entry-link:hover{color:var(--green)}
.notice>div:first-child{display:flex;flex-direction:column;gap:4px}
.notice-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.notice-actions .secondary{padding:10px 13px}
.start-notice{background:#edf6ff;border-color:#c5d9ef}
.page-actions{display:flex;gap:8px}
.secondary.small{padding:10px 15px}
.entry-method-box{margin-top:14px}
.field-title{display:block;font-size:12px;font-weight:750;color:#53615b;margin-bottom:7px}
.method-switch{display:grid;grid-template-columns:1fr 1fr;background:#edf0eb;border-radius:12px;padding:4px}
.method-switch button{border:0;border-radius:9px;background:transparent;color:#5f6964;padding:10px 8px;font-size:12px;font-weight:750;cursor:pointer}
.method-switch button.active{background:#fff;color:var(--ink);box-shadow:0 3px 10px rgba(23,35,31,.08)}
.duration-entry-fields{margin-top:14px}
.hour-chips{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.hour-chips button{border:1px solid #d7dbd5;background:#fafbf9;border-radius:11px;padding:11px 5px;font-weight:800;cursor:pointer}
.hour-chips button:hover,.hour-chips button.active{border-color:var(--green-dark);background:var(--green);color:var(--ink)}
.entry-hint{margin:4px 0 12px;padding:10px 12px;background:#fff6e3;border-radius:10px;color:#6f624a;font-size:11px;line-height:1.45}
.schedule-mode-switch{margin-bottom:15px}
.schedule-block-title{margin-top:14px}
.weekday-picks{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px}
.weekday-picks label{cursor:pointer}
.weekday-picks input{position:absolute;opacity:0;pointer-events:none}
.weekday-picks span{display:grid;place-items:center;border:1px solid #d7dbd5;background:#fafbf9;border-radius:10px;padding:10px 3px;font-weight:800}
.weekday-picks input:checked+span{background:var(--green);border-color:var(--green-dark)}
.schedule-shift-title{margin-top:4px}
.shift-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.shift-presets button{border:1px solid #d7dbd5;background:#fafbf9;border-radius:10px;padding:10px 4px;font-weight:750;cursor:pointer}
.shift-presets button.active,.shift-presets button:hover{background:#e8f6ca;border-color:var(--green-dark)}
#scheduleDialog{width:min(680px,calc(100% - 24px))}
#scheduleDialog form{max-height:90vh;overflow:auto}
.rotation-preview{margin:12px 0;padding:11px 12px;border-radius:11px;background:#edf6ff;color:#42617d;font-size:12px;line-height:1.45}
.holiday-title{margin-top:14px}
.holiday-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.holiday-choice label{cursor:pointer}
.holiday-choice input{position:absolute;opacity:0;pointer-events:none}
.holiday-choice span{display:block;height:100%;border:1px solid #d7dbd5;border-radius:12px;padding:11px;background:#fafbf9}
.holiday-choice strong,.holiday-choice small{display:block}
.holiday-choice small{margin-top:4px;color:var(--muted);font-weight:500;line-height:1.35}
.holiday-choice input:checked+span{border-color:var(--green-dark);background:#e8f6ca}
.check-line{display:flex!important;align-items:center;gap:9px;margin:10px 0}
.check-line input{width:auto!important;margin:0!important}
.schedule-actions{margin-top:12px}

@media(max-width:850px){.stats-grid{grid-template-columns:repeat(2,1fr)}
.upcoming-list{grid-template-columns:1fr}
.rights-grid{grid-template-columns:1fr}
.bottom-nav{bottom:0;left:0;right:0;transform:none;border-radius:18px 18px 0 0;justify-content:space-around;padding-bottom:max(7px,env(safe-area-inset-bottom))}
.bottom-nav button{min-width:0;padding:8px 9px;flex:1}
.report-summary{grid-template-columns:repeat(2,1fr)}
.notice{flex-direction:column}
.notice-actions{margin-left:0;flex-wrap:wrap}
}

@media(max-width:600px){.topbar{height:66px;padding:0 16px}
.brand small{display:none}
main{padding:20px 14px 96px}
.hero-card{padding:22px 18px;border-radius:22px;grid-template-columns:1fr auto}
.hero-card h1{font-size:31px}
.timer-panel{align-items:stretch;flex-direction:column}
.action-btn{width:100%}
.stats-grid{gap:9px}
.stat-card{min-height:120px;padding:15px}
.stat-card strong{font-size:25px}
.section-heading{margin-top:27px}
.page-title{align-items:center}
.page-title h1{font-size:30px}
.page-actions{flex-direction:column}
.page-actions button{width:100%}
.calendar-card,.settings-card,.report-sheet{border-radius:18px;padding:13px}
.weekdays,.calendar-grid{gap:3px}
.cal-day{border-radius:9px;padding:5px;aspect-ratio:.83}
.cal-day .hours{font-size:8px;margin-top:6px}
.cal-day .balance{font-size:8px}
.cal-day.work:after,.cal-day.leave:after,.cal-day.sick:after{right:5px;top:6px}
.legend{gap:10px}
.form-row{grid-template-columns:1fr}
.dialog-actions{grid-template-columns:1fr 1fr}
.dialog-actions span{display:none}
.dialog-actions .danger-link{grid-column:1/-1;text-align:left}
.report-controls{flex-direction:column}
.live-clock{font-size:20px}
.notice{flex-direction:column}
.notice strong{white-space:normal}
.weekday-picks{gap:3px}
.weekday-picks span{padding:9px 1px;font-size:11px}
.shift-presets{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:600px){.holiday-choice{grid-template-columns:1fr}
}

@media print{body{background:#fff}
.topbar,.bottom-nav,.no-print,.page-title button,.toast{display:none!important}
main{max-width:none;padding:0}
.view{display:none!important}
#reportsView{display:block!important}
.page-title{display:none}
.report-sheet{border:0;padding:0}
.table-wrap{overflow:visible}
table{font-size:10px}
.signature{margin-top:40px}
}

.report-special-summary{grid-template-columns:repeat(4,1fr);margin-top:-8px}
.report-special-summary div{background:#fff6e3}
@media(max-width:850px){.report-special-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){.report-special-summary{grid-template-columns:1fr}
}

.report-subheading{margin:25px 0 0;font-size:16px}
.report-settlement-summary{grid-template-columns:repeat(5,1fr);margin:10px 0 8px}
.report-settlement-summary div{border:1px solid transparent}
.report-settlement-summary .settlement-pending{background:#fff6e3;border-color:#ead6a8}
.report-settlement-summary .settlement-timeoff{background:#eef6dd;border-color:#cfdfa9}
.report-settlement-summary .settlement-paid{background:#eaf3ff;border-color:#c5d9ef}
.report-settlement-summary .settlement-partial{background:#f2efff;border-color:#d8cdf4}
.report-settlement-summary .settlement-disputed{background:#fff0ee;border-color:#edcbc7}
.report-settlement-note{margin:0 0 16px}
.settlement-badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:750;background:#f0f1ee}
.settlement-badge.status-pending{background:#fff0c9;color:#715c27}
.settlement-badge.status-timeoff{background:#e8f6ca;color:#355238}
.settlement-badge.status-paid{background:#e1efff;color:#365e84}
.settlement-badge.status-partial{background:#eee8ff;color:#5e4b8a}
.settlement-badge.status-disputed{background:#ffe2df;color:#8b3933}
.overtime-hint{margin-top:8px}
@media(max-width:850px){.report-settlement-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){.report-settlement-summary{grid-template-columns:1fr}
}

.absence-scope-title{margin-top:16px}
.absence-scope{display:grid;gap:8px;margin:8px 0 15px}
.absence-scope label{cursor:pointer}
.absence-scope input{position:absolute;opacity:0;pointer-events:none}
.absence-scope span{display:block;border:1px solid #d7dbd5;border-radius:12px;padding:11px 12px;background:#fafbf9}
.absence-scope strong,.absence-scope small{display:block}
.absence-scope small{margin-top:4px;color:var(--muted);font-weight:500;line-height:1.35}
.absence-scope input:checked+span{border-color:var(--green-dark);background:#e8f6ca}
.absence-actions{margin-top:12px}
#absenceDialog{width:min(590px,calc(100% - 24px))}

.carryover-hint{margin-top:8px}
#leaveSub{line-height:1.35}

:root{--green:#18c98c;--green-dark:#087856}

.brand-logo{width:42px;height:42px;border-radius:13px;display:block}
.brand strong{font-size:18px}
.brand-accent{color:#07956b}
.app-splash{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,rgba(24,201,140,.16),transparent 32%),#080d0b;color:#fff;opacity:1;transition:opacity .45s ease,visibility .45s ease}
.app-splash.is-hidden{opacity:0;visibility:hidden}
.app-splash img{width:min(42vw,230px);height:auto;border-radius:25%;filter:drop-shadow(0 22px 55px rgba(0,0,0,.38))}
.splash-wordmark{display:flex;margin-top:22px;font-size:clamp(34px,9vw,58px);letter-spacing:-.055em}
.splash-wordmark strong:last-child{color:#18c98c}
.app-splash p{margin:12px 24px 0;color:#c8d4d0;font-size:clamp(13px,3.5vw,17px);text-align:center}
.primary{color:#08241b}
.status-pill,.badge{background:#dff8ee;color:#086345}
.insight-icon{background:#dff8ee}
.method-switch button.active,.hour-chips button:hover,.hour-chips button.active,.weekday-picks input:checked+span,.holiday-choice input:checked+span,.absence-scope input:checked+span{border-color:#087856}
.family-preview{background:linear-gradient(135deg,#142c25,#087856)}

@media(max-width:600px){.brand-logo{width:38px;height:38px}
.brand strong{font-size:17px}
}

.pip-card{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
.pip-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.pip-card-head h2{margin:5px 0 0;letter-spacing:-.03em}
.privacy-pill{background:#dff8ee;color:#086345;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:800;white-space:nowrap}
.pip-intro{color:var(--muted);line-height:1.5}
.pip-controls{display:flex;align-items:flex-end;gap:12px;margin:18px 0}
.pip-controls label{font-size:12px;font-weight:700;color:#53615b}
.pip-controls input{display:block;border:1px solid #d8dbd6;border-radius:11px;background:#fafbf9;padding:11px 12px;margin-top:6px;color:var(--ink)}
.analysis-summary{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:18px 0 10px}
.analysis-summary span,.analysis-empty{color:var(--muted)}
.analysis-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.analysis-item{border:1px solid var(--line);border-left:5px solid #9aa59f;border-radius:14px;padding:14px;background:#fafbf9}
.analysis-item.alert{border-left-color:#d75b51;background:#fff7f6}
.analysis-item.warn{border-left-color:#f2b84b;background:#fffbf1}
.analysis-item.ok{border-left-color:#18c98c}
.analysis-item.info{border-left-color:#7da4d8}
.analysis-item span{display:block;color:var(--muted);font-size:12px}
.analysis-item strong{display:block;font-size:21px;margin:5px 0}
.analysis-item p{margin:0;color:#53615b;font-size:12px;line-height:1.45}
.pip-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.pip-formal-note,.pip-dialog-note{margin:14px 0 0;padding:11px 13px;background:#fff6e3;border-radius:11px;color:#6f624a;font-size:11px;line-height:1.5}
.pip-dialog{width:min(780px,calc(100% - 24px))}
.pip-dialog form{max-height:92vh;overflow:auto}
.complaint-preview{margin-top:15px;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fafbf9;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}
.pip-dialog-actions{grid-template-columns:1fr auto auto auto}
.letter-text{white-space:normal}

@media(max-width:700px){.pip-card-head{flex-direction:column}
.analysis-grid{grid-template-columns:1fr}
.pip-controls{align-items:stretch;flex-direction:column}
.pip-controls input,.pip-controls button{width:100%}
.pip-dialog-actions{grid-template-columns:1fr 1fr}
.pip-dialog-actions span{display:none}
.privacy-pill{white-space:normal}
}

#reportSummary{grid-template-columns:repeat(3,1fr)}
@media(max-width:850px){#reportSummary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){#reportSummary{grid-template-columns:1fr}
}

.setting-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.setting-card-head h2{margin:5px 0 0}
.settings-description{color:var(--muted);line-height:1.5;margin:12px 0}
.month-norm-hint{margin-top:2px}
.month-norm-list{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.month-norm-list-title{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.month-norm-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #eceeea}
.month-norm-item span,.month-norm-item strong,.month-norm-item small{display:block}
.month-norm-item small{color:var(--muted);margin-top:3px}
.settings-empty{color:var(--muted);font-size:12px;margin:0}
.plan-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:0 0 15px}
.plan-summary div{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8faf7}
.plan-summary small,.plan-summary strong{display:block}
.plan-summary small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:800}
.plan-summary strong{font-size:16px;margin-top:4px}
.plan-summary .positive strong{color:#147a57}
.plan-summary .negative strong{color:#a74737}
.copy-preview{padding:12px 14px;border-radius:11px;background:#edf6ff;color:#42617d;font-size:12px;line-height:1.45;margin:12px 0 0}
@media(max-width:760px){.plan-summary{grid-template-columns:repeat(2,1fr)}.page-actions{flex-wrap:wrap}.page-actions button{flex:1 1 42%}}
.template-box{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8faf7}
.template-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}
.template-heading .field-title{margin-bottom:2px}
.template-heading small{display:block;color:var(--muted);font-size:11px}
.template-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.template-chip{position:relative;text-align:left;border:1px solid #d8ded9;border-left:5px solid var(--green-dark);border-radius:11px;background:#fff;padding:9px 10px;cursor:pointer;color:var(--ink)}
.template-chip span,.template-chip small{display:block}
.template-chip span{font-size:12px;font-weight:850}
.template-chip small{font-size:10px;color:var(--muted);margin-top:3px}
.template-chip:hover,.template-chip.active{box-shadow:0 5px 14px rgba(22,40,33,.09);border-color:var(--green-dark);background:#f5ffea}
.template-chip.color-blue{border-left-color:#3981c1}.template-chip.color-violet{border-left-color:#7657b8}.template-chip.color-orange{border-left-color:#d37a2d}.template-chip.color-graphite{border-left-color:#3f4945}
.template-editor{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.template-fields{margin-bottom:10px}
.template-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.template-editor-actions .danger-link{margin-right:auto}
.template-empty{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;padding:8px 0}
@media(max-width:600px){.template-list{grid-template-columns:repeat(2,1fr)}.template-editor-actions{flex-wrap:wrap}.template-editor-actions button{flex:1}.template-editor-actions .danger-link{flex-basis:100%;text-align:left}}
.entry-template-box{margin:12px 0}
.entry-template-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;max-height:150px;overflow:auto;padding:2px}
.entry-template-chip{border:1px solid #d8ded9;border-left:4px solid var(--green-dark);background:#fafbf9;border-radius:10px;padding:8px 9px;text-align:left;cursor:pointer;color:var(--ink)}
.entry-template-chip strong,.entry-template-chip span{display:block}
.entry-template-chip strong{font-size:11px;line-height:1.25}
.entry-template-chip span{font-size:10px;color:var(--muted);margin-top:3px}
.entry-template-chip:hover,.entry-template-chip.active{background:#effbdc;border-color:var(--green-dark)}
.entry-template-chip.color-blue{border-left-color:#3981c1}.entry-template-chip.color-violet{border-left-color:#7657b8}.entry-template-chip.color-orange{border-left-color:#d37a2d}.entry-template-chip.color-graphite{border-left-color:#3f4945}
@media(max-width:600px){.entry-template-list{grid-template-columns:repeat(2,1fr)}}
