:root { --ink:#18242d; --muted:#87929a; --line:#e5e9eb; --soft:#f5f7f7; --paper:#fff; --coral:#ef786d; --coral-soft:#fff0ed; --mint:#5db294; --mint-soft:#e9f7f1; --blue:#6897d3; --blue-soft:#edf4fd; --yellow:#dfb35c; --yellow-soft:#fff7e5; --shadow:0 12px 30px rgba(24,36,45,.06); }
.member-name-input{width:100%;min-width:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink);padding:2px 4px;margin:-2px -4px;font-size:10px;font-weight:700;line-height:1.35}.member-name-input:focus{border-color:#b8d8cc;background:#fff;outline:0}.member-name-input:disabled{padding-left:0;margin-left:0;color:var(--ink);opacity:1}.member-email-input{width:100%;min-width:0;border:1px solid transparent;border-radius:4px;background:transparent;color:#7e8b92;padding:2px 4px;margin:1px -4px -1px;font-size:8px;line-height:1.35}.member-email-input:focus{border-color:#b8d8cc;background:#fff;outline:0}
*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{color:var(--ink);background:#f7f8f8;font-family:"Noto Sans JP",sans-serif;font-size:13px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}svg{width:16px;height:16px;stroke-width:1.8}.app-shell{min-height:100vh;display:flex}.sidebar{width:240px;flex:0 0 240px;background:#fbfcfc;border-right:1px solid var(--line);padding:24px 15px 15px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 9px 22px}.brand-mark{width:31px;height:31px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center}.brand-mark svg{width:17px}.brand-name{font:700 17px/1 "DM Sans",sans-serif}.brand-caption{font-size:9px;color:#9aa3a9;letter-spacing:.4px;margin-top:4px}.workspace{display:flex;align-items:center;gap:8px;padding:10px;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#59646c;font-size:11px}.workspace-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px var(--mint-soft)}.workspace svg{margin-left:auto;width:14px;color:#a3adb2}.nav-label{padding:0 10px 8px;color:#aab2b7;font:600 9px "DM Sans",sans-serif;letter-spacing:1.1px}.nav-label.space{margin-top:24px}.nav-item{display:flex;align-items:center;gap:10px;min-height:37px;padding:0 11px;margin:2px 0;border-radius:7px;color:#69747c;font-size:11px}.nav-item svg{width:17px;color:#99a3a9}.nav-item.active{background:#eef1f2;color:var(--ink);font-weight:700}.nav-item.active svg{color:var(--ink)}.nav-badge{margin-left:auto;min-width:19px;height:19px;border-radius:10px;display:grid;place-items:center;background:var(--coral);color:#fff;font:700 10px "DM Sans",sans-serif}.sidebar-bottom{margin-top:auto}.hint{display:flex;gap:9px;margin:20px 4px 15px;padding:12px;border-radius:9px;background:#f0f7f4}.hint-icon{width:22px;height:22px;border-radius:7px;background:#fff;display:grid;place-items:center;color:var(--mint)}.hint-icon svg{width:13px}.hint strong{display:block;font-size:10px}.hint p{margin:3px 0 0;color:#87978f;font-size:9px}.profile{display:flex;align-items:center;gap:8px;padding:12px 8px 0;border-top:1px solid var(--line)}.profile-copy{display:flex;flex-direction:column;gap:3px}.profile-copy strong{font-size:10px}.profile-copy span{font-size:9px;color:#9aa3a9}.profile>svg{margin-left:auto;color:#a9b1b6}.avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-weight:700;font-size:11px}.avatar-sand{background:#f8e1be;color:#986e39}.avatar-green{background:#d9efe6;color:#357f68}.avatar-blue{background:#dce9f8;color:#4d75ab}.avatar-purple{background:#e8ddf5;color:#7b59a2}.avatar-orange{background:#f9e2ca;color:#b67137}.avatar-pink{background:#f4dce7;color:#a65273}.main{min-width:0;flex:1}.topbar{height:67px;background:#fff;border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center;justify-content:space-between}.crumb{display:flex;align-items:center;gap:8px;color:#9fa8ad;font:600 9px "DM Sans",sans-serif;letter-spacing:.6px}.crumb svg{width:13px;color:#c2c8cb}.crumb strong{font:600 11px "Noto Sans JP",sans-serif;color:#65717a;letter-spacing:0}.top-actions{display:flex;align-items:center;gap:11px}.icon-btn{width:29px;height:29px;border:0;background:transparent;color:#7c878e;display:grid;place-items:center;position:relative}.icon-btn.alert span{position:absolute;right:3px;top:2px;width:5px;height:5px;border-radius:50%;background:var(--coral)}.top-date{border-left:1px solid var(--line);padding-left:17px;display:flex;align-items:center;gap:6px;color:#7b878e;font-size:10px}.top-date svg{width:14px;color:var(--coral)}.content{max-width:1420px;margin:0 auto;padding:34px 37px 60px}.eyebrow,.kicker{color:#a2abb0;font:700 9px "DM Sans",sans-serif;letter-spacing:1.2px}.eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:10px}.eyebrow:before{content:"";width:18px;height:2px;border-radius:2px;background:var(--coral)}h1{font-size:27px;line-height:1.35;letter-spacing:-.4px;margin:0 0 8px}h2{font-size:17px;letter-spacing:-.2px;margin:5px 0 0}h3{font-size:13px;margin:0}.lead{margin:0;color:#8d989f;font-size:11px}.page-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:26px}.primary,.save{border:0;border-radius:7px;padding:11px 15px;background:var(--ink);color:#fff;display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:700;box-shadow:0 7px 14px rgba(24,36,45,.12)}.primary svg,.save svg{width:14px}.outline{border:1px solid #dfe5e7;border-radius:6px;background:#fff;color:#718089;padding:8px 10px;display:inline-flex;align-items:center;gap:6px;font-size:10px}.outline svg{width:13px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 3px 9px rgba(24,36,45,.02)}.card-pad{padding:19px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:14px}.section-head h2{font-size:16px}.muted{color:#a3adb2;font-size:9px}.tabs{display:flex;gap:2px;background:#f0f2f3;border-radius:7px;padding:3px}.tabs span,.tabs button{border:0;background:transparent;color:#8c969d;border-radius:5px;padding:6px 10px;font-size:9px}.tabs .active{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 2px 4px rgba(24,36,45,.07)}.banner{display:flex;align-items:center;gap:12px;border:1px solid #f5d8d2;background:#fff8f6;border-radius:8px;padding:12px 15px;margin-bottom:20px}.banner-icon{width:31px;height:31px;border-radius:8px;background:var(--coral-soft);color:var(--coral);display:grid;place-items:center}.banner-icon svg{width:16px}.banner strong{font-size:11px}.banner p{margin:3px 0 0;color:#a98884;font-size:9px}.banner .push{margin-left:auto;color:#a27671;font-size:9px}.status-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.status-card{padding:15px;border:1px solid var(--line);border-radius:8px;background:#fff}.status-card.warning{background:#fffdfa;border-color:#f3e2cd}.status-top{display:flex;align-items:center;gap:7px;color:#7b878f;font-size:9px}.status-icon{width:25px;height:25px;border-radius:7px;background:#f2f4f4;display:grid;place-items:center}.warning .status-icon{background:var(--yellow-soft);color:var(--yellow)}.status-icon svg{width:14px}.status-card strong{display:block;margin:13px 0 4px;font:700 14px "DM Sans",sans-serif}.status-card p{margin:0;color:#9da6ac;font-size:9px}.status-link{display:flex;align-items:center;gap:4px;margin-top:11px;color:#8a959c;font-size:9px}.status-link svg{width:12px}.focus-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.focus-card{min-height:154px;padding:15px;border:1px solid var(--line);border-radius:8px;background:#fff9f7}.focus-card:nth-child(2){background:#f8fcfa;border-color:#dceee7}.focus-card:nth-child(3){background:#f8fbff;border-color:#dce8f6}.chip{display:inline-flex;padding:4px 6px;border-radius:4px;font:700 8px "DM Sans",sans-serif;letter-spacing:.8px}.chip.coral{color:#ce6c62;background:var(--coral-soft)}.chip.mint{color:#478e78;background:var(--mint-soft)}.chip.blue{color:#5e83b3;background:var(--blue-soft)}.focus-card h3{margin:17px 0 8px;line-height:1.5}.focus-card p{margin:0;color:#8b969d;font-size:9px;line-height:1.6}.focus-foot{display:flex;justify-content:space-between;border-top:1px solid rgba(210,219,220,.7);padding-top:10px;margin-top:14px;color:#8b979e;font-size:8px}.time-card{display:flex;align-items:center;gap:30px;padding:22px}.donut{width:97px;height:97px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--coral) 0 34%,var(--mint) 34% 59%,var(--blue) 59% 80%,var(--yellow) 80%)}.donut:after{content:"";position:absolute;width:69px;height:69px;border-radius:50%;background:#fff}.donut-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.donut-inner strong{font:700 20px "DM Sans",sans-serif}.donut-inner span{color:#9aa4aa;font-size:8px}.bar-list{flex:1;display:flex;flex-direction:column;gap:12px}.bar-row{display:grid;grid-template-columns:125px 1fr 28px;gap:8px;align-items:center}.bar-label{display:flex;align-items:center;gap:6px;color:#69757d;font-size:9px}.bar-track{height:6px;border-radius:4px;background:#eef0f1;overflow:hidden}.bar-fill{height:100%;display:block;border-radius:4px}.coral-fill{background:var(--coral)}.mint-fill{background:var(--mint)}.blue-fill{background:var(--blue)}.yellow-fill{background:var(--yellow)}.bar-percent{color:#9aa4aa;font:9px "DM Sans",sans-serif;text-align:right}.comment-card blockquote{margin:14px 0;padding:12px;border-left:3px solid #f2c2ba;background:#fff8f6;color:#68747c;font-size:10px;line-height:1.7}.comment-meta{display:flex;align-items:center;gap:8px}.comment-meta div:last-child{display:flex;flex-direction:column;gap:3px}.comment-meta strong{font-size:10px}.comment-meta span{color:#a0a9ae;font-size:8px}.reply{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.reply label,.field label{display:block;color:#76838b;font-size:9px;font-weight:700;margin-bottom:6px}.textarea,.field input,.field select,.field textarea{width:100%;border:1px solid #e0e5e7;border-radius:6px;background:#fff;color:#5f6c74;padding:9px;font-size:10px;outline:none}.textarea{height:58px;resize:vertical}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:1fr 1fr}.field textarea{height:72px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.work-entry{display:grid;grid-template-columns:145px minmax(0,1fr) 75px 25px;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #f0f2f3}.work-entry input,.work-entry select{height:34px;border:1px solid #e0e5e7;border-radius:6px;background:#fff;color:#5f6c74;padding:0 9px;font-size:9px;outline:none}.minutes{position:relative}.minutes input{width:100%;padding-right:22px;text-align:right}.minutes span{position:absolute;right:7px;top:10px;color:#a3adb2;font-size:8px}.delete{border:0;background:transparent;color:#b4bdc1;display:grid;place-items:center}.delete svg{width:14px}.add-row{border:0;background:transparent;color:#4f9a80;display:inline-flex;align-items:center;gap:5px;margin-top:11px;font-size:9px}.add-row svg{width:13px}.total-row{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:13px;margin-top:14px;color:#89959c;font-size:9px}.total-row strong{font:700 13px "DM Sans",sans-serif;color:var(--ink)}.total-row span:last-child{margin-left:auto;color:#a4adb2}.todo-row{display:grid;grid-template-columns:17px 1fr auto;gap:7px;align-items:center;padding:8px 0;border-top:1px solid #f0f2f3}.todo-check{width:16px;height:16px;border:1px solid #d5dce0;border-radius:5px;display:grid;place-items:center}.todo-row.done .todo-check{background:var(--mint);border-color:var(--mint);color:#fff}.todo-check svg{width:10px}.todo-row.done span:nth-child(2){color:#a5adb2;text-decoration:line-through}.todo-row input{width:100%;border:1px solid #e0e5e7;border-radius:5px;padding:7px;font-size:9px}.todo-due{color:#a0a9af;font-size:8px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{background:#fafbfb;color:#a2abb0;font-size:9px;font-weight:600;text-align:left;padding:11px 12px;white-space:nowrap}.table td{border-top:1px solid #f0f2f3;padding:11px 12px;color:#65717a;font-size:9px;vertical-align:top}.table tr:hover td{background:#fcfdfd}.member-cell{display:flex;align-items:center;gap:8px}.member-cell strong{display:block;font-size:10px}.member-cell span{display:block;color:#a4adb2;font-size:8px;margin-top:2px}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:10px;padding:4px 7px;font-size:8px;white-space:nowrap}.badge.good{color:#4b957b;background:var(--mint-soft)}.badge.warn{color:#ac8347;background:var(--yellow-soft)}.badge.empty{color:#a5aeb3;background:#f1f3f4}.badge svg{width:11px}.day-dots{display:flex;gap:3px;flex-wrap:wrap;max-width:175px}.day-dot{width:10px;height:10px;border-radius:3px;background:#e5e9ea}.day-dot.good{background:var(--mint)}.day-dot.warn{background:var(--yellow)}.day-dot.empty{background:#d7dfe1}.member-blocks{display:grid;grid-template-columns:repeat(3,minmax(310px,1fr));gap:15px;min-width:1000px}.member-blocks-scroll{overflow:auto}.member-block{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.member-block-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 14px;border-bottom:1px solid var(--line);background:#fafbfb}.member-block-head .member-cell{gap:8px}.member-block-total{display:flex;align-items:baseline;gap:7px;padding:12px 14px;border-bottom:1px solid #f0f2f3}.member-block-total span{color:#a1aab0;font-size:8px}.member-block-total strong{font:700 18px "DM Sans",sans-serif}.member-block-total small{margin-left:auto;color:#a1aab0;font-size:8px}.detail-list{max-height:440px;overflow:auto;padding:0 14px}.detail-day{display:grid;grid-template-columns:37px 1fr 34px;gap:7px;padding:8px 0;border-bottom:1px solid #f2f4f4}.detail-day.today{margin:0 -7px;padding-left:7px;padding-right:7px;background:#fff9f7}.day-label{display:flex;align-items:baseline;gap:3px}.day-label strong{font:700 14px "DM Sans",sans-serif}.day-label span{color:#a1aab0;font-size:8px}.detail-entry{display:grid;grid-template-columns:62px 1fr;gap:5px;font-size:8px;line-height:1.5}.detail-entry b{color:#6e7981}.detail-entry span{color:#6b7780;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-entry strong{grid-column:2;color:#5e6972;font:600 8px "DM Sans",sans-serif}.detail-empty{color:#b1b9bd;font-size:8px}.detail-min{color:#5e6972;font:600 8px "DM Sans",sans-serif;text-align:right}.month-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{padding:15px;border:1px solid var(--line);border-radius:8px;background:#fff}.metric span{display:block;color:#9ea8ae;font-size:9px;margin-bottom:8px}.metric strong{font:700 21px "DM Sans",sans-serif}.metric small{color:#919ca3;font:500 9px "Noto Sans JP",sans-serif}.metric em{display:block;color:#8ca094;font-size:8px;font-style:normal;margin-top:7px}.role-switch{display:flex;align-items:center;gap:6px;margin-left:9px;padding-left:10px;border-left:1px solid var(--line)}.role-switch label{color:#a0a9ae;font-size:8px}.role-switch select{border:1px solid #e0e5e7;border-radius:5px;background:#fff;color:#65717a;padding:5px 8px;font-size:9px}.admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.admin-list{display:flex;flex-direction:column}.admin-row{display:flex;align-items:center;gap:9px;padding:11px 0;border-top:1px solid #f0f2f3}.admin-row:first-child{border-top:0}.admin-row-copy{display:flex;flex-direction:column;gap:3px}.admin-row-copy strong{font-size:10px}.admin-row-copy span{font-size:8px;color:#a3adb2}.admin-row-actions{margin-left:auto;display:flex;gap:5px}.small-icon{width:26px;height:26px;border:1px solid #e0e5e7;border-radius:5px;background:#fff;color:#87939a;display:grid;place-items:center}.small-icon svg{width:13px}.category-row{display:flex;align-items:center;gap:7px;padding:8px 0;border-top:1px solid #f0f2f3}.category-row:first-child{border-top:0}.category-color{width:8px;height:8px;border-radius:3px}.category-row span{font-size:9px;color:#65717a}.category-row small{margin-left:auto;color:#a3adb2;font-size:8px}.toast{position:fixed;right:24px;bottom:22px;background:var(--ink);color:#fff;border-radius:7px;padding:11px 14px;box-shadow:var(--shadow);font-size:10px;z-index:10}.empty-state{padding:30px;text-align:center;color:#9fa8ad;font-size:10px}
@media(max-width:1100px){.sidebar{width:205px;flex-basis:205px}.content{padding-left:24px;padding-right:24px}.grid.two,.admin-grid{grid-template-columns:1fr}.member-blocks{grid-template-columns:repeat(3,310px)}.month-summary{grid-template-columns:repeat(2,1fr)}}

/* Keep the desktop navigation width stable at every desktop breakpoint. */
@media(min-width:761px){.app-shell>.sidebar{width:240px!important;min-width:240px!important;max-width:240px!important;flex:0 0 240px!important}}
@media(max-width:760px){.sidebar{width:62px;flex-basis:62px;padding:17px 8px}.brand{justify-content:center;padding:0 0 20px}.brand>div:last-child,.workspace span:not(.workspace-dot),.workspace svg,.nav-item span,.nav-label,.hint,.profile-copy,.profile>svg{display:none}.workspace{justify-content:center;padding:11px 0}.nav-item{justify-content:center;padding:0}.nav-item svg{width:18px}.profile{justify-content:center;padding:13px 0 0}.topbar{height:57px;padding:0 14px}.crumb{min-width:0;gap:0}.crumb span,.crumb>svg,.crumb strong{display:none}.crumb:after{content:"ULTRA WORKLOG";display:inline-flex;align-items:center;min-height:20px;padding-left:26px;background:url("/assets/worklog-icon-192.png?v=1") left center / 19px 19px no-repeat;color:#273843;font:700 11px/1 "Noto Sans JP",sans-serif;letter-spacing:.3px;white-space:nowrap}.top-date span{display:none}.top-date{border-left:0;padding-left:3px}.content{padding:24px 14px 45px}.page-title{align-items:start;flex-direction:column;gap:16px}.page-title .primary{align-self:stretch;justify-content:center}.status-cards,.focus-cards{grid-template-columns:1fr}.month-summary{grid-template-columns:1fr 1fr}.form-grid.two{grid-template-columns:1fr}.work-entry{grid-template-columns:1fr 65px 22px;gap:7px}.work-entry select{grid-column:1/-1}.work-entry input{grid-column:1}.work-entry .minutes{grid-column:2}.work-entry .delete{grid-column:3}.time-card{flex-direction:column;align-items:stretch}.bar-row{grid-template-columns:105px 1fr 25px}.top-actions{gap:3px}.role-switch label{display:none}.role-switch{margin-left:2px;padding-left:4px}.table{min-width:690px}}
.manager-compose{margin-bottom:18px}.manager-compose-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px}.manager-compose .field textarea{height:58px}.department-summary-row{width:100%;display:grid;grid-template-columns:135px 150px minmax(90px,1fr) 16px;align-items:center;gap:12px;border:0;border-top:1px solid #f0f2f3;background:#fff;color:#65717a;text-align:left;padding:13px 0;font-size:10px}.department-summary-row:first-of-type{border-top:0}.department-summary-row:hover{color:var(--ink)}.department-summary-row svg{width:14px;color:#a3adb2}.dept-name{font-weight:700;color:var(--ink)}.progress-mini{height:6px;background:#edf0f1;border-radius:4px;overflow:hidden}.progress-mini i{display:block;height:100%;background:var(--mint);border-radius:4px}.coral-bg{background:var(--coral)}.mint-bg{background:var(--mint)}.blue-bg{background:var(--blue)}.yellow-bg{background:var(--yellow)}
.member-block-head-actions{display:flex;align-items:center;gap:6px}.banner-action{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:var(--ink);font-size:11px;font-weight:700;text-align:left}.banner-action:hover{text-decoration:underline}.banner-action svg{width:14px}.banner-reset{white-space:nowrap}.department-inline-comment{margin:-4px 0 20px}.department-inline-comment-meta{display:flex;gap:10px;margin:-3px 0 13px;color:#8c989e;font-size:9px}.department-inline-comment-meta span+span:before{content:"・";margin-right:10px;color:#b3babd}@media(max-width:760px){.member-block-head-actions .small-icon{width:34px;height:34px}.department-inline-comment-meta{font-size:12px}.banner-action{font-size:14px}.banner-reset{font-size:12px}}
.nav-item{border:0;background:transparent;width:100%;text-align:left}
.member-add-form,.member-profile-editor{margin:18px 0}.member-profile-list{display:flex;flex-direction:column}.member-profile-heading,.member-profile-row{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(120px,1fr) minmax(150px,1fr) 125px 70px 120px;gap:8px;align-items:center}.member-profile-heading{padding:8px 0;color:#9aa4aa;font-size:8px;border-bottom:1px solid #e6eaeb}.member-profile-row{padding:10px 0;border-top:1px solid #f0f2f3}.member-profile-row:first-of-type{border-top:0}.member-profile-row select{height:32px;border:1px solid #e0e5e7;border-radius:6px;background:#fff;color:#5f6c74;padding:0 7px;font-size:9px}.member-profile-row .outline{justify-content:center;padding:7px 5px}.member-profile-row .member-cell span{font-size:8px}.member-profile-row select:disabled,.member-profile-row input:disabled{background:#f5f6f6;color:#a4adb2}.member-profile-row .compact-input{width:52px}.member-profile-actions{display:flex;align-items:center;gap:5px}.member-profile-actions .small-icon{width:30px;height:30px}.member-add-form[hidden]{display:none}.member-profile-editor{overflow:hidden}.points-management-row,.points-management-head{display:grid;grid-template-columns:minmax(220px,1.5fr) 100px 100px 110px;gap:10px;align-items:center}.points-management-head{padding:8px 10px;color:#9aa4aa;background:#fafbfb;font-size:8px}.points-management-row{padding:10px;border-top:1px solid #f0f2f3;color:#65717a;font-size:9px}.points-management-row>strong,.points-management-row>span{text-align:right}.points-management-row .member-cell strong{font-size:10px}.points-management-row .member-cell span{font-size:8px}.points-management-row .avatar{width:25px;height:25px;font-size:9px}.quest-points-management{margin:18px 0}.quest-points-management .hint-text{margin:14px 0 0;color:#8b979d;font-size:9px;line-height:1.6}
@media(max-width:760px){.department-summary-row{grid-template-columns:minmax(105px,1fr) minmax(105px,1fr) minmax(55px,1fr) 16px;gap:7px;padding-right:2px}.department-summary-row .progress-mini{min-width:0}.member-profile-heading{display:none}.member-profile-row{grid-template-columns:1fr 1fr}.member-profile-row .member-cell{grid-column:1/-1}.member-profile-row .outline{width:100%}.member-profile-row select{min-width:0}.member-profile-actions{justify-content:flex-end}.member-add-form .form-grid.two{grid-template-columns:1fr}.points-management-head{display:none}.points-management-row{grid-template-columns:1fr 1fr}.points-management-row .member-cell{grid-column:1/-1}.points-management-row>strong,.points-management-row>span{text-align:left}.nav-item{position:relative}.nav-item:focus-visible:after,.nav-item:hover:after{content:attr(aria-label);position:absolute;left:45px;top:7px;z-index:20;background:var(--ink);color:#fff;border-radius:5px;padding:6px 8px;font-size:9px;white-space:nowrap}.dashboard-alert-panel{overflow:hidden}}
@media(max-width:760px){.app-shell,.sidebar,.main,.content{min-width:0}.sidebar{overflow-x:hidden}.main{overflow:hidden}.department-summary-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(42px,auto) 14px;gap:6px}.department-summary-row>*{min-width:0}.department-summary-row .dept-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.department-summary-row .progress-mini{width:100%}}
.mobile-menu-toggle{display:none}
.points-management-row,.points-management-head{grid-template-columns:minmax(220px,1.5fr) 100px 100px 110px 205px}.points-grant{display:flex;justify-content:flex-end;gap:6px}.points-grant input{width:112px;padding:7px 8px;font-size:9px}.points-grant .outline{padding:7px 10px}
@media(max-width:760px){.points-management-row .points-grant{grid-column:1/-1;justify-content:flex-start}.points-grant input{flex:1;min-width:0}}
/* Keep the desktop navigation stable while allowing the mobile drawer to open. */
@media(min-width:761px){
  .app-shell>.sidebar{width:240px!important;min-width:240px!important;max-width:240px!important;flex:0 0 240px!important}
}
@media(max-width:760px){
  .app-shell>.sidebar{display:none}
  .mobile-menu-toggle{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid #e0e5e7;border-radius:7px;background:#fff;color:var(--ink);margin-right:8px}
  .mobile-menu-toggle svg{width:17px}
  .app-shell.menu-open:after{content:"";position:fixed;inset:0;background:rgba(24,36,45,.24);z-index:39}
  .app-shell.menu-open>.sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:250px;flex-basis:250px;padding:24px 15px;z-index:40;overflow-y:auto;box-shadow:10px 0 24px rgba(24,36,45,.14)}
  .app-shell.menu-open .brand{justify-content:flex-start;padding:0 9px 22px}
  .app-shell.menu-open .brand>div:last-child,.app-shell.menu-open .workspace span:not(.workspace-dot),.app-shell.menu-open .workspace svg,.app-shell.menu-open .nav-item span,.app-shell.menu-open .nav-label,.app-shell.menu-open .hint,.app-shell.menu-open .profile-copy,.app-shell.menu-open .profile>svg{display:block}
  .app-shell.menu-open .workspace{justify-content:flex-start;padding:10px}
  .app-shell.menu-open .nav-item{justify-content:flex-start;padding:0 11px}
  .app-shell.menu-open .profile{justify-content:flex-start;padding:12px 8px 0}
  .app-shell.menu-open .hint{display:flex}
}
@media(max-width:760px){
  .app-shell.menu-open>.sidebar{width:250px!important;min-width:250px!important;max-width:250px!important;flex:0 0 250px!important}
}
.reminder-card{border-color:#f1ddd0;background:#fffdfb}.reminder-copy{margin:0 0 16px;color:#9a847c;font-size:10px}.alert-departments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.alert-department{border-top:1px solid #f1e8e2;padding-top:10px}.alert-department>strong{display:block;color:#8d756b;font-size:10px;margin-bottom:8px}.alert-name-list{display:flex;flex-wrap:wrap;gap:7px}.alert-name-list button{border:1px solid #f0e1d9;border-radius:7px;background:#fff;color:#6b747b;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;font-size:9px}.alert-name-list button:hover{border-color:#eab9aa;background:#fff8f5;color:var(--ink)}.alert-name-list .avatar{width:22px;height:22px;font-size:9px}
.alert-person{display:inline-flex;align-items:center;gap:0}.alert-person>.alert-name-list{display:contents}.alert-person .alert-dismiss{width:24px;height:28px;border:1px solid #f0e1d9;border-left:0;border-radius:0 7px 7px 0;background:#fff;color:#b7a29a;padding:0;display:grid;place-items:center}.alert-person .alert-dismiss:hover{background:#fff0eb;color:var(--coral)}.alert-person .alert-dismiss svg{width:12px}.alert-name-list .alert-person>button:first-child{border-radius:7px 0 0 7px}.alert-name-list .alert-person .avatar{width:22px;height:22px;font-size:9px}
.alert-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px}.alert-group{border-top:1px solid #f1e8e2;padding-top:12px}.alert-group-head{display:flex;justify-content:space-between;align-items:center;color:#8d756b;font-size:10px}.alert-group-head span{color:#b48672;font:700 10px "DM Sans",sans-serif}.alert-group .reminder-copy{margin:7px 0 12px}.alert-none{color:#a7aaa9;font-size:9px;padding:8px 0}.alert-detail-banner{background:#fff8f5;border-color:#f3d1c5}.alert-detail-banner .banner-icon{background:#ffe8e0}.review-entries{display:flex;flex-direction:column}.review-entry{display:grid;grid-template-columns:130px 1fr 45px;gap:10px;border-top:1px solid #f0f2f3;padding:12px 0;font-size:10px}.review-entry:first-child{border-top:0}.review-entry strong{color:#6f7a82}.review-entry span{color:#65717a}.review-entry b{text-align:right;color:#53616a;font:600 10px "DM Sans",sans-serif}
.banner-good{background:#f5fbf8;border-color:#d9eee5}.banner-good .banner-icon{background:var(--mint-soft);color:var(--mint)}.alert-groups-three{grid-template-columns:repeat(3,minmax(0,1fr))}.alert-person-view{border:1px solid #f0e1d9;border-radius:7px;background:#fff;color:#6b747b;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;font-size:9px}.focus-plan-editor{margin-bottom:18px;background:#fbfcff}.focus-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.focus-editor-item{border:1px solid var(--line);border-radius:8px;background:#fff;padding:13px}.focus-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.focus-editor-item .field+.field{margin-top:10px}.focus-editor-item input{width:100%;border:1px solid #e0e5e7;border-radius:6px;background:#fff;color:#5f6c74;padding:9px;font-size:10px;outline:none}.focus-editor-item textarea{height:58px}.detail-focus-list{display:flex;flex-direction:column;gap:10px}.detail-focus-item{border-top:1px solid #f0f2f3;padding-top:10px}.detail-focus-item:first-child{border-top:0;padding-top:0}.detail-focus-item strong{display:block;margin-top:8px;font-size:10px}.detail-focus-item p{margin:5px 0 0;color:#8b969d;font-size:9px;line-height:1.6}.member-block[data-action="open-member-detail"]{cursor:pointer}.member-block[data-action="open-member-detail"]:hover{border-color:#d2dfe0;box-shadow:0 5px 14px rgba(24,36,45,.06)}.manager-detail-comment{margin-top:18px}
.member-reply-note{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.member-reply-note-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.member-reply-note strong{display:block;color:#76838b;font-size:9px}.member-reply-note p{margin:7px 0 0;padding:10px;background:#f6faf9;color:#65717a;font-size:10px;line-height:1.6;border-radius:6px}.member-reply-note p.member-reply-empty{background:#f7f8f8;color:#929ca2}
.detail-date-nav{display:flex;align-items:center;gap:7px;margin-left:auto}.detail-date-picker{display:flex;align-items:center;gap:6px;color:#9aa4aa;font-size:9px}.detail-date-picker input{border:1px solid #dfe5e7;border-radius:6px;background:#fff;color:#65717a;padding:8px 9px;font-size:10px}.detail-date-nav .outline{white-space:nowrap}
.detail-member-nav{display:flex;align-items:center;gap:7px}.detail-member-nav>span{min-width:42px;color:#8c989e;font-size:9px;text-align:center}.detail-member-nav .outline{white-space:nowrap}.detail-member-nav .outline:disabled{cursor:default;opacity:.45}
.required-mark{color:var(--coral);font-size:8px;font-weight:700;margin-left:3px}
.holiday-add{display:flex;gap:8px;align-items:center}.holiday-add input{border:1px solid #e0e5e7;border-radius:6px;background:#fff;color:#5f6c74;padding:8px;font-size:10px}.holiday-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.holiday-item{display:inline-flex;align-items:center;gap:6px;border:1px solid #e0e5e7;border-radius:7px;background:#fafbfb;color:#65717a;padding:4px 5px 4px 9px;font-size:9px}.holiday-item .small-icon{width:22px;height:22px;border:0;color:#a5adb2}
@media(max-width:960px){.alert-groups-three{grid-template-columns:1fr}.focus-editor-grid{grid-template-columns:1fr}}
@media(max-width:760px){.detail-date-nav{width:100%;margin-left:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto}.detail-date-picker{min-width:0}.detail-date-picker input{min-width:0;width:100%}.detail-date-picker span{display:none}}
@media(max-width:760px){.detail-member-nav{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.detail-member-nav .outline{justify-content:center;padding:9px 7px;font-size:12px}.detail-member-nav>span{font-size:12px}}
/* ULTRA identity and lightweight daily encouragement */
.brand{align-items:flex-start;gap:7px}
.brand-logo{display:block;width:145px;height:32px;object-fit:contain;object-position:left center}
.brand-logo-mobile{display:none}
.encouragement-banner{display:flex;align-items:center;gap:12px;margin:-6px 0 20px;padding:12px 15px;border:1px solid #f0e4d6;border-radius:8px;background:#fffdf9}
.encouragement-icon{width:31px;height:31px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:#fff1e5;color:#df9b54}
.encouragement-icon svg{width:16px}
.encouragement-copy{min-width:0}
.encouragement-copy strong{display:block;margin-top:3px;font-size:11px}
.encouragement-copy p{margin:3px 0 0;color:#9a8c80;font-size:9px;line-height:1.5}
.encouragement-mark{margin-left:auto;color:#d9b99b;font:700 9px "DM Sans",sans-serif;letter-spacing:1.2px}
@media(max-width:760px){.brand{align-items:center}.brand-logo{display:none}.brand-logo-mobile{display:block;width:33px;height:30px;border-radius:7px;background:#fff url("assets/ultra-logo-horizontal.png") left center / auto 30px no-repeat}.encouragement-banner{align-items:flex-start;margin:-4px 0 18px;padding:11px 12px}.encouragement-mark{display:none}}
.detail-day[data-action="open-member-day"]{cursor:pointer}.detail-day[data-action="open-member-day"]:hover{background:#fbfdfd}
.task-finance-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.task-finance-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px}.task-finance-card span{display:block;color:#9aa4aa;font-size:9px;margin-bottom:8px}.task-finance-card strong{display:block;font:700 21px "DM Sans",sans-serif;color:#53616a}.task-finance-card em{display:block;margin-top:7px;color:#8ca094;font-size:8px;font-style:normal}.task-finance-card.danger-card{background:#fffaf8;border-color:#f1d9d2}.task-finance-card.danger-card strong{color:#c86e63}.task-finance-card.earned-card{background:#f8fcfa;border-color:#d8eee5}.task-finance-card.earned-card strong{color:#478e78}.task-finance-card small{font:500 10px "Noto Sans JP",sans-serif;color:#919ca3;margin-left:3px}.task-member-finance-section,.task-list-section,.task-rules-section{margin-top:18px}.task-member-finance-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:10px}.task-member-finance{border:1px solid #edf0f1;border-radius:8px;background:#fff;padding:11px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}.task-member-finance .member-cell{grid-column:1/-1}.task-member-finance .member-cell strong{font-size:10px}.task-member-finance .member-cell span{font-size:8px}.task-money-pair{display:flex;flex-direction:column;gap:3px}.task-money-pair span{color:#a0a9ae;font-size:8px}.task-money-pair b{font:700 10px "DM Sans",sans-serif;color:#68767d}.task-money-pair b.danger{color:#c86e63}.task-money-pair b.earned{color:#478e78}.task-member-net{grid-column:1/-1;border-top:1px solid #f0f2f3;padding-top:8px;color:#8c979d;font-size:9px}.task-member-net.pay{color:#c86e63;font-weight:700}.task-member-net.receive{color:#478e78;font-weight:700}.task-filter-tabs{display:flex;flex-wrap:wrap;gap:3px;background:#f0f2f3;border-radius:7px;padding:3px;margin-bottom:12px;width:max-content}.task-filter{border:0;background:transparent;color:#8c969d;border-radius:5px;padding:7px 10px;font-size:9px}.task-filter.active{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 2px 4px rgba(24,36,45,.07)}.task-row-list{display:flex;flex-direction:column}.task-row-card{border-top:1px solid #f0f2f3;padding:12px 0}.task-row-card:first-child{border-top:0}.task-row-main{display:grid;grid-template-columns:110px minmax(0,1fr) 150px 100px 100px 105px auto;gap:10px;align-items:center}.task-type-badge{display:inline-flex;justify-content:center;border-radius:5px;padding:5px 6px;font-size:8px;font-weight:700}.task-type-badge.recurring{background:#f1f5f3;color:#668578}.task-type-badge.irregular{background:#fff4ed;color:#b8784e}.task-type-badge.self{background:#f0f7ff;color:#5e83b3}.task-row-main>strong{font-size:10px;color:#53616a}.task-assignee{display:flex;align-items:center;gap:6px;color:#5f6c74;font-size:9px;font-weight:700}.task-assignee .avatar{width:23px;height:23px;font-size:9px}.task-due{color:#77858c;font-size:9px}.task-due.late{color:#c86e63;font-weight:700}.task-amount{font:700 10px "DM Sans",sans-serif;color:#69777f;text-align:right}.task-amount.danger{color:#c86e63}.task-amount.earned{color:#478e78}.task-status{display:inline-flex;justify-content:center;border-radius:10px;padding:5px 7px;font-size:8px;white-space:nowrap}.task-status-danger{background:#fff0ed;color:#c86e63}.task-status-warning{background:#fff7e7;color:#ac8347}.task-status-good{background:#eef7f3;color:#4b957b}.task-status-neutral{background:#f1f3f4;color:#8b969d}.task-actions{display:flex;gap:4px;justify-content:flex-end}.task-actions .small-icon{width:26px;height:26px}.task-row-card>p{margin:7px 0 0 120px;color:#9aa4aa;font-size:9px}.task-add-form{margin-bottom:18px}.task-add-form[hidden]{display:none}.task-rules-section .task-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.task-rules-section .task-rule-item{border-top:1px solid #f0f2f3;padding:13px 0}.task-rules-section .task-rule-item:nth-child(-n+2){border-top:0;padding-top:0}.task-rules-section .task-rule-item strong{display:block;color:#5c6971;font-size:10px}.task-rules-section .task-rule-item p{margin:5px 0 0;color:#77848b;font-size:9px;line-height:1.7}
@media(max-width:1100px){.task-finance-cards{grid-template-columns:repeat(2,1fr)}.task-member-finance-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.task-row-main{grid-template-columns:100px minmax(0,1fr) 125px 90px 90px auto}}
@media(max-width:760px){.task-finance-cards{grid-template-columns:1fr 1fr}.task-member-finance-grid,.task-rules-section .task-rule-grid{grid-template-columns:1fr}.task-filter-tabs{width:100%;overflow:auto}.task-filter{white-space:nowrap}.task-row-main{grid-template-columns:100px minmax(0,1fr) 82px;gap:7px}.task-type-badge{grid-row:1}.task-row-main>strong{grid-column:2}.task-assignee{grid-column:2}.task-due{grid-column:3;grid-row:1}.task-amount{grid-column:3;grid-row:2}.task-status{grid-column:2;grid-row:3;width:max-content}.task-actions{grid-column:3;grid-row:3}.task-row-card>p{margin-left:0}.task-add-form .form-grid.two{grid-template-columns:1fr}}
@media(max-width:760px){.task-member-finance-section>.section-head{flex-direction:column;align-items:flex-start;gap:4px}.task-member-finance-section>.section-head .muted{font-size:12px;line-height:1.5}}
.task-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.task-list-toolbar .task-filter-tabs{margin-bottom:0}.task-sort{display:flex;align-items:center;gap:6px;color:#8d989f;font-size:9px}.task-sort select{border:1px solid #e0e5e7;border-radius:5px;background:#fff;color:#65717a;padding:7px 8px;font-size:9px}.recurring-task-section{margin-top:18px}.recurring-task-section .reminder-copy{margin:0 0 14px}.recurring-task-header,.recurring-task-row{display:grid;grid-template-columns:minmax(270px,1.8fr) 90px 75px minmax(120px,1fr) 70px 100px;gap:10px;align-items:center}.recurring-task-header{padding:8px 0;color:#a2abb0;font-size:8px;background:#fafbfb;border-top:1px solid #f0f2f3;border-bottom:1px solid #f0f2f3}.recurring-task-row{padding:10px 0;border-bottom:1px solid #f0f2f3;color:#68767d;font-size:9px}.recurring-task-name{display:flex;align-items:center;gap:8px;min-width:0}.recurring-task-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#53616a;font-size:10px}.recurring-task-row>b{font:700 10px "DM Sans",sans-serif;color:#69777f;text-align:right}.recurring-task-actions{display:flex;justify-content:flex-end;gap:3px}.recurring-task-actions .small-icon{justify-self:end}.task-recurring-field[hidden]{display:none}
@media(max-width:760px){.task-list-toolbar{align-items:stretch}.task-list-toolbar .task-filter-tabs{width:100%}.task-sort{justify-content:flex-end}.recurring-task-header{display:none}.recurring-task-row{grid-template-columns:minmax(0,1fr) auto auto;gap:6px}.recurring-task-name{grid-column:1/-1}.recurring-task-row>span:nth-of-type(1){grid-column:1}.recurring-task-row>span:nth-of-type(2)::before{content:"頻度：";color:#a2abb0}.recurring-task-row>span:nth-of-type(3)::before{content:"期限：";color:#a2abb0}.recurring-task-row>span:nth-of-type(4){grid-column:3;grid-row:2}.recurring-task-row>b{grid-column:2;text-align:right}.recurring-task-actions{grid-column:3;grid-row:2}.recurring-task-actions .small-icon{grid-column:auto;grid-row:auto}}
.task-submission-form{display:flex;align-items:center;gap:7px;margin:8px 0 0 120px;padding:8px 10px;border:1px solid #dcebe5;border-radius:7px;background:#f8fcfa}.task-submission-form label{color:#6f857b;font-size:9px;font-weight:700;white-space:nowrap}.task-submission-form textarea{min-width:0;flex:1;height:34px;resize:vertical;border:1px solid #dce5e1;border-radius:5px;background:#fff;color:#5f6c74;padding:7px 8px;font-size:9px}.task-submission-form .small-icon{background:#fff;color:var(--mint)}.task-submission-done{display:flex;align-items:center;gap:8px;margin:8px 0 0 120px;color:#6f857b;font-size:9px}.task-submission-done a{display:inline-flex;align-items:center;gap:4px;color:#478e78;font-weight:700}.task-submission-done svg{width:12px}.task-submission-done>span:first-child{color:#a0a9ae}.task-row-card:has(.task-submission-form){background:#fbfefc}
.task-header-actions{display:flex;align-items:center;gap:8px}.task-header-actions .outline{color:#5f8173;border-color:#cfe5db}.field small{display:block;margin-top:5px;color:#9aa5a8;font-size:8px;line-height:1.5}
@media(max-width:760px){.task-submission-form,.task-submission-done{margin-left:0}.task-submission-form{align-items:stretch;flex-wrap:wrap}.task-submission-form label{width:100%}.task-submission-form textarea{width:calc(100% - 34px)}}
@media(max-width:760px){.task-header-actions{width:100%;flex-direction:column;align-items:stretch}.task-header-actions .primary,.task-header-actions .outline{justify-content:center}}
.task-row-main{grid-template-columns:110px minmax(0,1fr) 150px 100px 100px 105px 58px}
@media(max-width:1100px){.task-row-main{grid-template-columns:100px minmax(0,1fr) 125px 90px 90px 58px}}
@media(max-width:760px){.task-row-main{grid-template-columns:100px minmax(0,1fr) 82px}}
.task-list-controls{display:flex;align-items:center;gap:10px;margin-left:auto}.task-assignee-filter{display:flex;align-items:center;gap:6px;color:#8d989f;font-size:9px}.task-assignee-filter select{border:1px solid #e0e5e7;border-radius:5px;background:#fff;color:#65717a;padding:7px 8px;font-size:9px}.task-submission-wait{margin:8px 0 0 120px;padding:8px 10px;color:#9aa5a8;background:#fafbfb;border:1px solid #eef1f1;border-radius:7px;font-size:9px}
@media(max-width:760px){.task-list-controls{width:100%;justify-content:flex-end;flex-wrap:wrap}.task-submission-wait{margin-left:0}}
.task-list-meta{display:flex;align-items:center;gap:8px;color:#9aa4aa;font-size:9px}.text-button{border:0;background:transparent;color:#4b957b;padding:0;font-size:9px;font-weight:700}.text-button:hover{text-decoration:underline}
.department-category-editor{margin:0 0 18px}.department-category-editor-list{margin-top:14px;border-top:1px solid #edf0f1}.department-category-editor-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #edf0f1}.department-category-editor-row input{min-width:0;height:36px;padding:7px 9px;border:1px solid #dfe5e7;border-radius:5px;color:#53616a;background:#fff;font-size:11px}.department-category-editor-actions{display:flex;gap:5px}.department-category-add{margin:14px 0;padding:12px;border:1px solid #dfe7e3;border-radius:6px;background:#fbfefc}.department-category-add .form-actions{margin-top:10px}
.recurring-details{position:static;display:block;max-width:100%;min-width:0;contain:layout}.task-recurring-summary{display:block;width:100%;min-width:0;margin:0 0 12px}.task-recurring-summary .recurring-details{width:max-content;max-width:100%}.recurring-details summary{cursor:pointer;list-style:none;color:#718089;font-size:9px;white-space:nowrap}.recurring-details summary::-webkit-details-marker{display:none}.recurring-details summary:after{content:'⌄';margin-left:5px;color:#a3adb2}.recurring-details[open] summary:after{content:'⌃'}.recurring-details summary span{margin-left:5px;color:#4b957b;font-weight:700}.recurring-details-panel{position:static!important;inset:auto!important;display:block;width:min(460px,100%);max-width:100%;height:auto;min-height:0;max-height:none;box-sizing:border-box;margin:8px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 10px 24px rgba(24,36,45,.12);overflow:visible}.recurring-details:not([open])>.recurring-details-panel{display:none!important;width:0!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;visibility:hidden!important;overflow:hidden!important}.recurring-detail-row{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-top:1px solid #f0f2f3;color:#69767d;font-size:9px}.recurring-detail-row:first-child{border-top:0}.recurring-detail-row strong{color:#53616a}.recurring-detail-row span{white-space:nowrap;color:#9aa4aa}.recurring-details-empty{margin:0;color:#69767d;font-size:9px}
.dashboard-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
@media(max-width:760px){.dashboard-actions{width:100%;flex-direction:column;align-items:stretch}.dashboard-actions .primary,.dashboard-actions .outline{width:100%;justify-content:center}}
.task-submission-block{margin:10px 0 0 120px;padding:10px 12px;border:1px solid #dcebe5;border-radius:7px;background:#f8fcfa}.task-submission-heading{display:flex;align-items:center;gap:8px;margin-bottom:7px;color:#607a70;font-size:9px}.task-submission-heading span{color:#8da19a;font-size:8px}.task-submission-badge{padding:3px 6px;border-radius:8px;background:#e4f4ed;color:#478e78!important;font-weight:700}.task-submission-content{color:#536f65;font-size:9px;line-height:1.6;overflow-wrap:anywhere}.task-submission-content a{display:inline-flex;align-items:center;gap:4px;color:#478e78;font-weight:700}.task-submission-content svg{width:12px}.task-submission-input{display:flex;align-items:stretch;gap:8px}.task-submission-input textarea{min-width:0;flex:1;height:42px;resize:vertical;border:1px solid #dce5e1;border-radius:5px;background:#fff;color:#5f6c74;padding:8px;font-size:9px}.task-submit-button{border:0;border-radius:5px;background:var(--mint);color:#fff;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:9px;font-weight:700;white-space:nowrap}.task-submit-button svg{width:13px}.task-submission-pending{background:#fbfbfa;border-color:#ecefed}.task-submission-pending p{margin:0;color:#9aa4aa;font-size:9px}.task-submission-pending .task-submission-heading span{color:#b1844a}.task-row-card:has(.task-submission-block){background:#fbfefc}
.task-submission-block.task-submission-form{display:block;align-items:initial;gap:0}
@media(max-width:760px){.task-submission-block{margin-left:0}.task-submission-input{flex-direction:column}.task-submit-button{min-height:34px}}
.work-entry{grid-template-columns:150px 145px minmax(0,1fr) 75px 25px 25px}.work-entry .duplicate{width:25px;height:25px;padding:0;border:0;border-radius:5px;background:transparent;color:#9aa7ad;display:grid;place-items:center}.work-entry .duplicate:hover:not(:disabled){background:#eef5fb;color:#527eb1}.work-entry .duplicate:disabled{visibility:hidden}.work-entry .duplicate svg{width:14px;height:14px}
.category-admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.category-admin-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:#64727a;font-size:10px}.category-admin-list{border-top:1px solid #f0f2f3}.category-admin-row{display:flex;align-items:center;gap:8px;min-height:38px;border-bottom:1px solid #f0f2f3;color:#627078;font-size:10px}.category-admin-row .small-icon{margin-left:auto}.admin-level-editor{display:flex;align-items:center;gap:5px;color:#9aa4aa;font-size:8px}.admin-level-editor input{width:48px;border:1px solid #e0e5e7;border-radius:5px;padding:5px;color:#5f6c74;text-align:center;font-size:9px}.quest-profile-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:14px 16px;border:1px solid #d9e9f5;border-radius:8px;background:#f8fbff}.quest-profile-banner div{display:flex;align-items:center;gap:10px}.quest-profile-banner strong{font-size:12px}.quest-profile-banner span{color:#5e83b3;font-size:9px;font-weight:700}.quest-profile-banner p{margin:0;color:#7d8e9a;font-size:9px}.quest-add-form{margin-bottom:18px}.quest-add-form[hidden]{display:none}.quest-add-form textarea{height:72px;resize:vertical}.quest-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.quest-list-section,.quest-summary-section{margin-top:18px}.quest-tabs{margin:0}.quest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quest-card{border:1px solid #e6edef;border-radius:8px;background:#fff;padding:15px}.quest-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.quest-level{display:inline-flex;padding:4px 7px;border-radius:5px;background:#eef5fb;color:#5e83b3;font:700 8px "DM Sans",sans-serif}.quest-card h3{margin:9px 0 0;color:#53616a;font-size:13px;line-height:1.45}.quest-description{min-height:30px;margin:10px 0;color:#7d898f;font-size:9px;line-height:1.6}.quest-meta{display:flex;flex-wrap:wrap;gap:8px 12px;padding:10px 0;border-top:1px solid #f0f2f3;color:#8b979d;font-size:8px}.quest-meta span{display:inline-flex;align-items:center;gap:4px}.quest-meta svg{width:12px}.quest-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px}.quest-card-footer .primary{padding:8px 11px;font-size:9px}.quest-assignee-label,.quest-locked{color:#8d989f;font-size:9px}.quest-locked{color:#b1844a}.quest-status-open{background:#eef5fb;color:#5e83b3}.quest-status-active{background:#f1f7ee;color:#5e8d54}.quest-status-warning{background:#fff7e7;color:#ac8347}.quest-status-good{background:#eef7f3;color:#4b957b}.quest-applicants{width:100%;padding:10px;border:1px solid #edf0f1;border-radius:6px;background:#fafcfc}.quest-applicants>strong{display:block;margin-bottom:7px;color:#69767d;font-size:9px}.quest-applicant{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid #f0f2f3;color:#68767d;font-size:9px}.quest-applicant>span{display:flex;align-items:center;gap:5px}.quest-applicant .avatar{width:22px;height:22px;font-size:8px}.quest-submission{margin-top:12px;padding:10px;border:1px solid #dcebe5;border-radius:7px;background:#f8fcfa}.quest-submission-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#607a70;font-size:9px}.quest-submission-head span{font-size:8px}.quest-submission-content{margin-bottom:8px;color:#536f65;font-size:9px;line-height:1.6;overflow-wrap:anywhere}.quest-submission-content a{display:inline-flex;align-items:center;gap:4px;color:#478e78;font-weight:700}.quest-submission-content svg{width:12px}.quest-submission-input{display:flex;align-items:stretch;gap:7px}.quest-submission-input textarea{min-width:0;flex:1;height:42px;resize:vertical;border:1px solid #dce5e1;border-radius:5px;padding:8px;color:#5f6c74;font-size:9px}.quest-submission-input .save{padding:0 10px;font-size:9px;white-space:nowrap}.quest-submission-actions{display:flex;justify-content:flex-end}.quest-summary-head,.quest-summary-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 100px;align-items:center;gap:10px}.quest-summary-head{padding:8px 10px;color:#a2abb0;background:#fafbfb;font-size:8px}.quest-summary-row{padding:9px 10px;border-top:1px solid #f0f2f3;color:#68767d;font-size:9px}.quest-summary-row strong,.quest-summary-row b{text-align:right}.quest-summary-row .member-cell strong{font-size:10px}.quest-summary-row .member-cell span{font-size:8px}.quest-summary-row .avatar{width:24px;height:24px;font-size:9px}
@media(max-width:900px){.quest-list{grid-template-columns:1fr}.quest-metrics{grid-template-columns:repeat(2,1fr)}.category-admin-columns{grid-template-columns:1fr}}
@media(max-width:760px){.work-entry{grid-template-columns:1fr 1fr;gap:7px}.work-entry input[data-entry="content"]{grid-column:1/-1}.work-entry .minutes{grid-column:1}.work-entry .duplicate,.work-entry .delete{grid-column:2;justify-self:end}.work-entry .duplicate{margin-right:48px;width:42px;height:42px}.work-entry .duplicate svg{width:18px;height:18px}.quest-profile-banner{align-items:flex-start;flex-direction:column}.quest-metrics{grid-template-columns:1fr 1fr}.quest-tabs{width:100%;overflow:auto}.quest-tabs button{white-space:nowrap}.quest-submission-input{flex-direction:column}.quest-submission-input .save{min-height:34px}.admin-row{flex-wrap:wrap}.admin-level-editor{margin-left:auto}}
.quest-level-setting-list{border-top:1px solid #f0f2f3}.quest-level-setting-row{display:grid;grid-template-columns:110px minmax(170px,1fr) minmax(170px,1fr);align-items:center;gap:18px;padding:10px 0;border-bottom:1px solid #f0f2f3;color:#627078;font-size:10px}.quest-level-setting-row label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#8b979d;font-size:9px}.quest-level-setting-row input{width:74px;border:1px solid #e0e5e7;border-radius:5px;background:#fff;color:#5f6c74;padding:6px 7px;text-align:right;font-size:9px}.quest-level-setting-row strong{color:#5e83b3}@media(max-width:760px){.quest-level-setting-row{grid-template-columns:1fr;gap:7px}.quest-level-setting-row label{justify-content:flex-start}.quest-level-setting-row input{margin-left:auto}}
 .admin-major-picker{margin-top:12px}
 .multi-choice{border:1px solid #e0e5e7;border-radius:6px;background:#fff;padding:7px 8px}.multi-choice-help{display:block;color:#a0a9ae;font-size:8px;margin-bottom:5px}.multi-choice-options{display:flex;flex-wrap:wrap;gap:5px}.multi-choice-options label{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid #e7ebec;border-radius:5px;background:#fbfcfc;color:#65717a;font-size:9px;cursor:pointer}.multi-choice-options input{accent-color:#4f9a80}.multi-choice-options label:has(input:checked){border-color:#9dcbb9;background:#f0f8f4;color:#3f7e69}.category-add-trigger{margin-top:10px}.view-error{max-width:620px;margin:30px auto}.view-error h1{margin:0 0 8px}.view-error p{color:#7d898f;font-size:10px}
 @media(max-width:760px){.multi-choice-options{display:grid;grid-template-columns:1fr 1fr}.multi-choice-options label{min-height:34px}}
.inline-add-form{margin-top:14px;padding:12px;border:1px solid #dcebe5;border-radius:7px;background:#f8fcfa}.inline-add-form[hidden]{display:none}.inline-add-form .field{margin:0}.inline-add-form .form-actions{margin-top:10px}
.personal-category-editor{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}
.personal-category-editor>summary{display:inline-flex;align-items:center;gap:6px;list-style:none;color:#4b957b;font-size:9px;font-weight:700;cursor:pointer}
.personal-category-editor>summary::-webkit-details-marker{display:none}.personal-category-editor>summary svg{width:14px;height:14px}
.personal-category-panel{margin-top:12px;padding:10px 12px;border:1px solid #e1e9e6;border-radius:6px;background:#f9fcfb}
.personal-category-panel>p{margin:0 0 8px;color:#89969c;font-size:8px}
.personal-category-controls{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:7px;min-width:0}
.personal-category-controls>select{min-width:120px;height:34px;border:1px solid #dfe6e4;border-radius:5px;background:#fff;padding:0 28px 0 9px;color:#627078;font-size:9px}
.personal-category-add{display:flex;align-items:center;gap:7px;width:100%;min-width:0;margin:0}
.personal-category-add input{min-width:0;flex:1;height:34px;border:1px solid #dfe6e4;border-radius:5px;background:#fff;color:#5f6c74;padding:0 9px;font-size:9px;outline:none}
.personal-category-add .save{min-height:34px;padding:0 10px;font-size:9px;white-space:nowrap}
.personal-category-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.personal-category-row{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:3px 4px 3px 8px;border:1px solid #e2e9e7;border-radius:5px;background:#fff}
.personal-category-row span{color:#65717a;font-size:8px;line-height:1.4}
.personal-category-row .small-icon{width:22px;height:22px;padding:0}.personal-category-row .small-icon svg{width:12px;height:12px}
.personal-category-list>.empty-state{width:100%;padding:8px;font-size:8px}
@media(max-width:760px){.personal-category-controls{grid-template-columns:1fr 1fr}.personal-category-add{grid-column:1/-1}.personal-category-controls>select{min-width:0;width:100%}}
.dashboard-alert-banner{border-color:#efb8af;border-left:4px solid var(--coral);background:#fff6f4;box-shadow:0 4px 12px rgba(207,102,91,.08);padding-left:12px}
.dashboard-alert-banner .banner-icon{background:#ffe5e0;color:#d45d53;box-shadow:0 0 0 4px #fff0ed}
.dashboard-alert-content{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.dashboard-alert-content strong{color:#93463e;font-size:12px}
.dashboard-alert-content p{color:#a16f69}
.alert-kicker{display:inline-flex;margin-bottom:4px;border-radius:4px;padding:3px 6px;background:#f7d8d2;color:#b54f46;font:700 8px "DM Sans",sans-serif;letter-spacing:.8px}
.dashboard-alert-banner .push{color:#ad5a50;font-weight:700}
.dashboard-alert-panel.has-alerts{border-color:#efd7d2;box-shadow:0 4px 12px rgba(207,102,91,.05)}
.dashboard-alert-panel.has-alerts .section-head h2{color:#82483f}
.dashboard-alert-panel.has-alerts .badge.warn{color:#b04f46;background:#fbe0dc}
.dashboard-alert-panel.has-alerts .alert-group{border-color:#f0deda}
.manager-task-alert{margin-top:22px;border-color:#efcfc9;border-left:4px solid var(--coral);background:#fffaf8;box-shadow:0 4px 12px rgba(207,102,91,.06)}
.manager-task-alert .section-head{align-items:flex-start}
.manager-task-alert .section-head h2{margin-top:6px;color:#82483f}
.manager-task-alert .section-head p{margin:6px 0 0;color:#9d7770;font-size:10px}
.manager-task-alert-list{display:grid;margin-top:14px;border-top:1px solid #f0deda}
.manager-task-alert-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #f0deda}
.manager-task-alert-row strong,.manager-task-alert-row span{display:block}
.manager-task-alert-row strong{color:#5c4c4a;font-size:11px}
.manager-task-alert-row span,.manager-task-alert-row time{color:#9a8581;font-size:9px}
.manager-task-alert-row time{white-space:nowrap}
.manager-task-alert-row .outline{padding:7px 10px;white-space:nowrap;font-size:9px}
.task-upcoming-notice{margin:0 0 16px;padding:14px 16px;border:1px solid #dbe6e9;border-radius:8px;background:#f8fbfc}.task-upcoming-notice>strong{display:block;color:#283a43;font-size:14px}.task-upcoming-notice>p{margin:4px 0 8px;color:#64747c;font-size:12px}.task-upcoming-notice .manager-task-alert-row:last-child{border-bottom:0}.task-upcoming-notice .manager-task-alert-row strong{font-size:13px}.task-upcoming-notice .manager-task-alert-row span,.task-upcoming-notice .manager-task-alert-row time{font-size:12px}.task-upcoming-notice .manager-task-alert-row .outline{font-size:12px}
@media(max-width:600px){.dashboard-alert-banner{align-items:flex-start}.dashboard-alert-banner .push{margin-left:43px}.dashboard-alert-content strong{font-size:11px}.manager-task-alert-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.manager-task-alert-row time{grid-column:1}.manager-task-alert-row .outline{grid-column:2;grid-row:1 / span 2}}
.monthly-review-alert{margin:0 0 22px;border-color:#ead8ca;background:#fffaf6;box-shadow:0 4px 12px rgba(177,121,75,.05)}
.monthly-review-alert.is-overdue{border-color:#e9b9b0;background:#fff6f4;box-shadow:0 4px 12px rgba(184,77,65,.08)}
.monthly-review-alert-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.monthly-review-alert-head h2{color:#775b4e;margin-top:6px}
.monthly-review-alert-head p{margin:6px 0 0;color:#9b8880;font-size:10px}
.monthly-review-alert-head .primary{white-space:nowrap;background:#775b4e}
.monthly-alert-people{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid #f0e4dd}
.monthly-alert-person{border:1px solid #eadbd1;border-radius:7px;background:#fff;color:#68747b;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;font-size:9px}
.monthly-alert-person:hover{border-color:#d9b9a6;background:#fff8f3;color:var(--ink)}
.monthly-alert-person svg{width:12px;color:#a18170}
.month-picker{display:flex;align-items:center;gap:8px;color:#8b969d;font-size:9px}
.month-picker input{border:1px solid #e0e5e7;border-radius:6px;background:#fff;color:#5f6c74;padding:8px;font-size:10px}
.monthly-review-month-card{border-color:#dce8f6;background:#f9fbff}
.monthly-review-month-summary{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px;margin:4px 0 13px}
.monthly-review-month-summary div{padding:11px 12px;border:1px solid #e4ecf5;border-radius:7px;background:#fff}
.monthly-review-month-summary span{display:block;color:#9aa5ae;font-size:8px;margin-bottom:5px}
.monthly-review-month-summary strong{display:block;color:#536d87;font-size:11px;line-height:1.5}
.monthly-review-editor{border-color:#dce8f6;background:#fbfdff}
.monthly-review-editor .form-grid{margin-bottom:12px}
.monthly-review-editor textarea{min-height:105px;resize:vertical}
.monthly-guideline-help{margin:7px 0 0;color:#8d9aa4;font-size:9px;line-height:1.55}
.monthly-review-list{overflow:hidden}
.monthly-review-table-head,.monthly-review-row{display:grid;grid-template-columns:190px minmax(0,1fr) 70px 150px;gap:14px;align-items:center}
.monthly-review-table-head{padding:9px 11px;background:#fafbfb;color:#a2abb0;font-size:8px}
.monthly-review-row{padding:12px 11px;border-top:1px solid #f0f2f3;color:#68767d;font-size:14px;align-items:start}
.monthly-review-row.selected{background:#fbfdff}
.monthly-review-row .member-cell{min-width:0}
.monthly-review-row .member-cell strong,.monthly-review-row .member-cell span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.monthly-review-row .member-cell strong{font-size:12px}
.monthly-review-row>div:nth-child(2){min-width:0;font-size:12px}
.monthly-review-row p{margin:5px 0 0;color:#68767d;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.monthly-review-guideline{display:block;color:#5d7181;font-weight:700;white-space:normal;overflow-wrap:anywhere}
.monthly-review-score{color:#5d7181;font:700 11px "DM Sans",sans-serif;text-align:center}
.monthly-review-row>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.monthly-review-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.monthly-review-hidden-toggle{padding:6px 9px;font-size:9px;white-space:nowrap}
.monthly-review-hide-button{padding:6px 7px}
.monthly-review-row.is-hidden{background:#fafafa;opacity:.62}
.monthly-review-row.is-hidden .monthly-review-hide-button{opacity:1}
.personal-category-editor h2{font-size:16px}
.personal-category-editor .muted{font-size:9px}
.todo-row.done input[data-todo-field="text"]{color:#a5adb2;background:#f7faf9;text-decoration:line-through}
.quest-profile-banner{border-color:#e7d8b8;background:#fffaf0;box-shadow:0 4px 12px rgba(126,95,49,.06)}
.quest-profile-banner .quest-guild-identity{display:flex;align-items:center;gap:10px}
.quest-profile-banner .quest-guild-identity>div{display:flex;align-items:center;gap:10px}
.quest-profile-banner .quest-guild-seal{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid #e8d4ae;border-radius:6px;background:#f8edd8;color:#9a6d2e;font:700 8px "DM Sans",sans-serif;letter-spacing:.7px}
.quest-profile-banner .quest-guild-seal svg{width:13px}
.quest-profile-banner strong{color:#6d5538}
.quest-profile-banner .quest-guild-identity>div>span{color:#a87937}
.quest-list-section,.quest-summary-section{border-color:#e7dcc9}
.quest-card{position:relative;border-color:#e6dcc8;border-left:3px solid #c69a5b;background:#fffdf8;box-shadow:0 3px 10px rgba(126,95,49,.06)}
.quest-card h3{color:#5f4b36}
.quest-level{border:1px solid #ead5ae;background:#f7ead2;color:#9a6d2e}
.quest-card-footer .primary{background:#6b5740;box-shadow:0 5px 10px rgba(107,87,64,.16)}
.quest-list-section{position:relative;margin-top:46px!important;padding:52px 24px 34px!important;border:12px solid #633f29;border-top-width:18px;border-bottom-width:18px;border-color:#5b3a27;background-color:#7c5235;background-image:repeating-linear-gradient(90deg,rgba(255,241,209,.035) 0,rgba(255,241,209,.035) 2px,transparent 2px,transparent 48px),repeating-linear-gradient(0deg,rgba(47,25,13,.1) 0,rgba(47,25,13,.1) 1px,transparent 1px,transparent 12px);box-shadow:inset 0 0 0 5px rgba(255,241,209,.08),0 8px 18px rgba(83,54,32,.12)}
.quest-list-section:before{content:"QUEST BOARD";position:absolute;z-index:2;top:-42px;left:9%;right:9%;height:44px;display:flex;align-items:center;justify-content:center;border:5px solid #51311f;border-radius:4px;background:#6e472b;color:#f0d39c;font:700 20px/1 "DM Sans",sans-serif;letter-spacing:2px;box-shadow:0 5px 0 rgba(62,38,23,.35),inset 0 0 0 2px rgba(255,221,157,.18)}
.quest-list-section:after{content:"";position:absolute;z-index:2;left:5%;right:5%;bottom:-29px;height:17px;border:4px solid #51311f;border-radius:3px;background:#6e472b;box-shadow:0 4px 0 rgba(62,38,23,.25)}
.quest-list-section .section-head h2{color:#fff7e5}
.quest-list-section .kicker{color:#e7c99d}
.quest-list-section .muted{color:#ead8ba}
.quest-list-section .tabs{background:#69452f}
.quest-list-section .tabs button{color:#e8d2b0}
.quest-list-section .tabs .active{color:#61452d;background:#fff5dc}
.quest-list{padding:5px 2px 2px}
.quest-card{border-color:#d7c18e;border-radius:2px;background-color:#fff8dc;background-image:repeating-linear-gradient(0deg,rgba(120,86,38,.035) 0,rgba(120,86,38,.035) 1px,transparent 1px,transparent 5px);box-shadow:3px 5px 0 rgba(64,39,24,.25),0 8px 12px rgba(48,28,17,.12);transform:rotate(-.35deg);padding-top:24px}
.quest-card:nth-child(2n){transform:rotate(.45deg)}
.quest-card:nth-child(3n){transform:rotate(-.7deg)}
.quest-card:before{content:"";position:absolute;top:7px;left:50%;width:13px;height:13px;transform:translateX(-50%);border:1px solid #21150f;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d2a86a 0,#765133 35%,#2b1b12 70%,#120b08 100%);box-shadow:0 2px 2px rgba(45,24,13,.32)}
.quest-card:after{content:"";position:absolute;top:0;right:0;border-top:18px solid #ead8a9;border-left:18px solid transparent;opacity:.85}
.quest-card h3,.quest-card .quest-description{font-family:"UD Digi Kyokasho N","UD Digi Kyokasho NP","Comic Sans MS","Hiragino Maru Gothic ProN","Yu Gothic",cursive;letter-spacing:.02em}
.quest-card h3{font-size:15px;color:#553c2b}
.quest-card .quest-description{font-size:11px;color:#76563c;line-height:1.75}
.quest-card .quest-meta{border-color:#eadfbd;color:#907654}
.quest-card .quest-level{background:#f4e6bb;border-color:#d8bd7c;color:#8d652b}
@media(max-width:900px){.monthly-review-table-head{display:none}.monthly-review-row{grid-template-columns:1fr auto;gap:8px}.monthly-review-row>div:nth-child(2){grid-column:1/-1;grid-row:2}.monthly-review-row>div:nth-child(3){grid-column:1;grid-row:3}.monthly-review-row>div:last-child{grid-column:2;grid-row:3}.monthly-review-month-summary{grid-template-columns:1fr}.monthly-review-alert-head{align-items:flex-start;flex-direction:column}.monthly-review-alert-head .primary{width:100%;justify-content:center}}
@media(max-width:600px){.month-picker{align-items:stretch;flex-direction:column}.monthly-review-row{padding:11px 0}.monthly-review-row>div:last-child{justify-content:flex-end}}
@media(max-width:760px){
  .monthly-review-list .section-head{flex-direction:column;align-items:stretch;gap:10px}
  .monthly-review-list .section-head>div:first-child{min-width:0}
  .monthly-review-list .section-head h2{font-size:18px;line-height:1.4}
  .monthly-review-list-actions{width:100%;min-width:0;flex-direction:column-reverse;align-items:flex-start;gap:12px}
  .monthly-review-list-actions .muted{display:block;width:100%;min-width:0;font-size:14px;line-height:1.6;white-space:normal}
  .monthly-review-hidden-toggle{max-width:100%;min-height:40px;padding:8px 12px;font-size:14px;white-space:normal;text-align:left}
}
@media(max-width:760px){.quest-list-section{padding-left:12px!important;padding-right:12px!important}.quest-list-section:before{left:4%;right:4%;font-size:15px;letter-spacing:1px}}
.quest-profile-banner{position:relative;overflow:hidden;flex-wrap:wrap;border-color:#b88b52;background:linear-gradient(115deg,#fff7df,#f6e7bd);box-shadow:inset 0 0 0 3px rgba(255,255,255,.35),0 5px 14px rgba(126,95,49,.11)}
.quest-profile-banner:after{content:"";position:absolute;right:-22px;top:-30px;width:130px;height:130px;border:2px solid rgba(139,91,38,.12);border-radius:50%;box-shadow:0 0 0 10px rgba(139,91,38,.05),0 0 0 20px rgba(139,91,38,.04)}
.quest-profile-banner .quest-guild-seal{background:#7c4c2c;border-color:#4f2f1c;color:#f9dfaa;box-shadow:inset 0 0 0 2px rgba(255,225,159,.14),0 2px 0 rgba(67,37,20,.18)}
.quest-profile-banner .quest-guild-seal svg{color:#f1c86c}
.quest-wallet{position:relative;z-index:1;display:flex!important;flex-direction:column;align-items:flex-end!important;gap:2px!important;margin-left:auto}
.quest-wallet span{color:#9a6d2e!important;font-size:8px!important}
.quest-wallet strong{color:#6b4728!important;font-size:15px!important}
.quest-profile-banner>p{position:relative;z-index:1;flex-basis:100%;color:#7e6243!important}
.quest-budget-note{margin:0 0 14px;padding:9px 11px;border-left:3px solid #b98742;background:#fff8e9;color:#8a704d;font-size:9px;line-height:1.6}
.quest-list-section .section-head{position:relative;z-index:3}
.quest-list-section .quest-list{position:relative;z-index:3}
.quest-list-section:before{content:"冒険者ギルド  /  QUEST BOARD";font-family:"Trebuchet MS","Yu Gothic",sans-serif;font-size:17px;letter-spacing:1.5px;text-shadow:1px 1px 0 #3a2113,-1px -1px 0 rgba(255,220,151,.15)}
.quest-list-section{background-image:linear-gradient(90deg,rgba(255,223,167,.08),transparent 16%,rgba(46,22,11,.08) 48%,transparent 72%,rgba(255,223,167,.05)),repeating-linear-gradient(90deg,rgba(255,241,209,.035) 0,rgba(255,241,209,.035) 2px,transparent 2px,transparent 48px),repeating-linear-gradient(0deg,rgba(47,25,13,.1) 0,rgba(47,25,13,.1) 1px,transparent 1px,transparent 12px)}
.quest-card{overflow:hidden}
.quest-card:before{z-index:3;width:15px;height:15px;box-shadow:0 2px 2px rgba(45,24,13,.42),inset 0 1px 1px rgba(255,220,145,.35)}
.quest-card:after{z-index:2}
.quest-card .quest-card-top,.quest-card .quest-description,.quest-card .quest-meta,.quest-card .quest-card-footer,.quest-card .quest-submission{position:relative;z-index:3}
.quest-card .quest-card-top{padding-bottom:8px;border-bottom:1px dashed rgba(133,91,43,.28)}
.quest-card .quest-level{font-family:"UD Digi Kyokasho N","Comic Sans MS",cursive;font-size:9px}
.quest-card .badge{font-family:"UD Digi Kyokasho N","Comic Sans MS",cursive}
.quest-summary-section{border-color:#d6bd8d;background:#fffaf0}
@media(max-width:760px){.quest-wallet{align-items:flex-start!important;margin-left:0}.quest-profile-banner>p{flex-basis:auto}.quest-list-section:before{font-size:13px;letter-spacing:.6px}}
.quest-list-section:before{content:"QUEST BOARD";font-family:Georgia,"Times New Roman","Yu Mincho",serif;font-size:20px;letter-spacing:2px;text-shadow:1px 1px 0 #382015,-1px -1px 0 rgba(255,220,151,.15)}
.quest-card{background-color:#c69b61;background-image:radial-gradient(ellipse at 18% 14%,rgba(255,236,180,.18),transparent 28%),radial-gradient(ellipse at 82% 72%,rgba(83,43,20,.14),transparent 34%),linear-gradient(135deg,#d1aa70,#b9864e);border-color:#8a6036;box-shadow:3px 5px 0 rgba(54,29,15,.35),0 8px 12px rgba(48,28,17,.14)}
.quest-card .quest-card-top{padding-bottom:0;border-bottom:0}
.quest-card h3,.quest-card .quest-description{font-family:Georgia,"Times New Roman","Yu Mincho",serif;letter-spacing:.01em;text-shadow:0 1px 0 rgba(255,225,163,.16)}
.quest-card h3{color:#382015;font-size:17px;line-height:1.25;text-transform:uppercase}
.quest-card h3:before{content:"WANTED";display:block;margin-bottom:6px;color:#4b2b1c;font:700 10px/1 Georgia,"Times New Roman",serif;letter-spacing:3px}
.quest-card .quest-description{color:#503522;font-size:11px;line-height:1.65}
.quest-card .quest-meta{border-color:rgba(82,45,23,.3);color:#583b24}
.quest-card .quest-card-footer{color:#4e301d}
.quest-card .quest-level{border-color:#80542d;background:#56321f;color:#f1d29b;font-family:Georgia,"Times New Roman","Yu Mincho",serif;letter-spacing:.04em}
.quest-card .badge{font-family:Georgia,"Times New Roman","Yu Mincho",serif}
.quest-card .quest-submission{border-color:#947044;background:rgba(255,229,172,.24)}
.submit-guidance{margin:13px 0 0;color:#7f8d92;font-size:9px;line-height:1.6}
.quest-list-section{background-color:#70472b;background-image:linear-gradient(90deg,rgba(255,224,166,.08),transparent 16%,rgba(44,21,10,.12) 48%,transparent 76%,rgba(255,224,166,.05)),repeating-linear-gradient(90deg,rgba(38,18,9,.22) 0,rgba(38,18,9,.22) 2px,transparent 2px,transparent 72px),repeating-linear-gradient(90deg,transparent 0,transparent 68px,rgba(255,225,168,.08) 68px,rgba(255,225,168,.08) 70px,transparent 70px,transparent 72px)}
.quest-card{background-color:#f0d5a0;background-image:radial-gradient(ellipse at 18% 14%,rgba(255,247,215,.5),transparent 30%),radial-gradient(ellipse at 82% 72%,rgba(121,76,32,.09),transparent 34%),linear-gradient(135deg,#f4dfb0,#e6c488);color:#4b301e}
.quest-card:after{display:none}
.quest-list-section:after{display:none}
.quest-card .quest-description{color:#65462c}
.quest-card .quest-meta{color:#65462c}
.quest-card .quest-meta{border-top:0}
.quest-card{text-align:center}
.quest-card .quest-description{text-align:center}
.quest-card .quest-meta{justify-content:center}
.quest-card .quest-card-footer{justify-content:center;flex-direction:column}
.quest-card .quest-card-footer>div{display:flex;justify-content:center;width:100%}
.quest-manage-actions{display:flex;justify-content:center;gap:6px;margin-top:7px}.quest-remove-button{padding:6px 9px;color:#a85c52;border-color:#efd1cb;font-size:9px}.quest-remove-button svg{width:12px;height:12px}
.quest-card .quest-assignee-label,.quest-card .quest-locked{text-align:center}
.quest-card .quest-submission-head,.quest-card .quest-submission-actions{justify-content:center}
.quest-card .quest-submission-content{text-align:center}
.quest-card .quest-submission-input textarea{text-align:center}
.quest-card .quest-applicants>strong,.quest-card .quest-applicant{text-align:center;justify-content:center}
.quest-list-section{background-image:linear-gradient(rgba(54,26,12,.16),rgba(54,26,12,.16)),url("assets/quest-board-wood.png");background-size:cover;background-position:center;background-blend-mode:multiply}
.quest-list-section{background-image:linear-gradient(rgba(191,145,92,.46),rgba(157,104,54,.38)),url("assets/quest-board-wood.png");background-blend-mode:normal}
.monthly-review-row,.member-profile-row,.points-management-row,.quest-summary-row{content-visibility:auto;contain-intrinsic-size:auto 68px}.monthly-review-list,.member-profile-list,.points-management-list,.quest-summary-list{contain:layout paint}
.quest-card .quest-card-top>div{display:flex;flex-direction:column;align-items:stretch}
.quest-card .quest-card-top>div{flex:1;min-width:0}
.quest-card .quest-card-top>.badge{position:absolute;top:0;right:0}
.quest-card h3{order:-1;text-align:center}
.quest-card h3:before{font-size:30px;line-height:.95;letter-spacing:4px;margin-bottom:8px;text-align:center}
.quest-card .quest-level{order:1;align-self:flex-start;margin-top:9px}
@media(max-width:760px){.member-blocks{grid-template-columns:minmax(0,1fr);min-width:0}.member-blocks-scroll{overflow:visible}.quest-tabs{flex-wrap:wrap;overflow:visible}.quest-tabs button{flex:0 0 auto}}
.task-due-original{display:block;margin-top:3px;color:#a06f68;font-size:8px;font-weight:500;line-height:1.45}

/* Shared production sign-in screen. */
.login{min-height:100vh;display:grid;place-items:center;padding:32px;background:#f4f6f6}
.login-frame{width:min(900px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);background:#fff;border:1px solid #dfe5e7;border-radius:12px;overflow:hidden;box-shadow:0 18px 45px rgba(24,36,45,.08)}
.login-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:470px;padding:58px 54px;background:#f8fbfa;border-right:1px solid #e6ecec;position:relative;text-align:center}
.login-welcome:before{content:"";position:absolute;top:0;left:0;width:7px;height:100%;background:var(--coral)}
.login-welcome-logo{display:block;width:min(185px,68%);height:auto;margin:0 auto 28px;object-fit:contain}
.login-welcome-kicker,.login-kicker{color:#9aa8aa;font:700 9px "DM Sans",sans-serif;letter-spacing:1.7px}
.login-welcome h2{margin:21px 0 15px;color:var(--ink);font-size:29px;line-height:1.55;letter-spacing:0}
.login-welcome p{margin:0;color:#7b8b8d;font-size:11px;line-height:1.8}
.login-welcome-rule{width:42px;height:2px;margin-top:36px;background:var(--mint)}
.login-welcome-caption{margin-top:12px;color:#a6b0b2;font:600 8px "DM Sans",sans-serif;letter-spacing:1.1px}
.login-panel .login-kicker{font-family:"Noto Sans JP",sans-serif;font-size:9px;letter-spacing:.3px;line-height:1.5}
.login-panel{width:100%;min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:55px 48px 46px;background:#fff;border:0;border-radius:0;box-shadow:none;text-align:center}
.login-panel > *{max-width:100%}
.login-panel h1{font-size:25px;margin:10px 0 10px}
.login-description{margin:0 0 21px;color:#7d898d;font-size:10px;line-height:1.7}
.login-panel .primary{width:100%;justify-content:center;text-align:center;padding:14px 16px;font-size:11px}
.login-note{display:flex;align-items:flex-start;gap:7px;margin-top:20px;padding:11px 12px;border:1px solid #e3eeea;background:#f8fcfa;color:#5d8172}
.login-note svg{width:15px;height:15px;flex:0 0 auto;margin-top:1px}
.login-note p{margin:0;color:#71847d;font-size:9px;line-height:1.6}
.login-footnote{margin:18px 0 0;text-align:center;color:#a1aaad;font-size:9px;line-height:1.6}
.login-loading{justify-content:center}.login-loading-indicator{display:flex;gap:5px;justify-content:center;margin-top:28px}.login-loading-indicator span{width:7px;height:7px;border-radius:50%;background:var(--mint);animation:login-pulse 1s ease-in-out infinite}.login-loading-indicator span:nth-child(2){animation-delay:.14s}.login-loading-indicator span:nth-child(3){animation-delay:.28s}@keyframes login-pulse{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
.report-date-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.report-date-controls>label{color:#89979d;font-size:9px;font-weight:700}.report-date-controls>input{height:34px;border:1px solid #dfe5e7;border-radius:6px;background:#fff;color:#65717a;padding:0 9px;font-size:10px}.report-date-controls .autosave-status{flex-basis:100%;text-align:right}
.work-log-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.work-log-heading h2{margin:0}.work-log-autosave{white-space:nowrap}
.attendance-strip{display:flex;align-items:center;gap:9px;min-height:38px;margin:0 0 12px;padding:6px 10px;border:1px solid #e1ebe7;border-radius:6px;background:#fbfefd;color:#7b898e}.attendance-strip label{flex:0 0 auto;color:#66777d;font-size:9px;font-weight:700}.attendance-strip select{width:132px;height:28px;border:1px solid #dfe5e7;border-radius:5px;background:#fff;color:#5f6c74;padding:0 7px;font-size:10px;outline:none}.attendance-strip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#89979d;font-size:8px;line-height:1.4}
@media (max-width:760px){.attendance-strip{gap:7px;margin-bottom:10px;padding:5px 8px}.attendance-strip select{width:124px}.attendance-strip span{font-size:7px}}
@media (max-width:760px){.login{padding:14px}.login-frame{position:relative;display:flex;flex-direction:column;width:min(430px,100%);border-radius:14px;box-shadow:0 12px 30px rgba(24,36,45,.07)}.login-frame:before{content:"";position:absolute;top:0;bottom:0;left:0;width:5px;background:var(--coral);z-index:2;pointer-events:none}.login-welcome{min-height:0;padding:34px 28px 25px;background:#fff;border-right:0;border-bottom:0}.login-welcome:before{display:none}.login-welcome-logo{width:142px;margin-bottom:18px}.login-welcome h2{margin:12px 0 0;font-size:22px;line-height:1.48}.login-welcome-rule{margin-top:20px}.login-panel{min-height:0;padding:27px 28px 31px;border-top:1px solid #edf1ef;text-align:center}.login-panel h1{font-size:24px;margin-top:9px}.login-description{max-width:280px;margin-left:auto;margin-right:auto}.login-note{justify-content:center;text-align:left}.login-footnote{max-width:280px;margin-left:auto;margin-right:auto}}
@media (max-width:760px){.report-date-controls{justify-content:flex-start}.report-date-controls .autosave-status{text-align:left}}
.quest-applicant-chip{display:inline-flex;align-items:center;gap:5px;margin:3px 5px 0 0;padding:4px 7px;border:1px solid #e6edef;border-radius:999px;background:#fff;color:#68767d;font-size:8px}.quest-applicant-chip .avatar{width:20px;height:20px;font-size:8px}.quest-participant-submission{padding:8px 0;border-top:1px solid #e1eee8}.quest-participant-submission:first-of-type{border-top:0}
.checkbox-line{display:flex;align-items:center;gap:6px;margin-top:8px;color:#66747b;font-size:9px}.checkbox-line input{width:14px;height:14px;margin:0}
.avatar-teal{background:#d8eff0;color:#3e7d82}.avatar-rose{background:#f6ddda;color:#a55d57}

/* Input feedback and category colors stay visible while a report is being edited. */
.report-month-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.report-month-controls label,.month-picker span{color:#89979d;font-size:9px;font-weight:700}
.report-month-controls input[type="month"],.month-picker input[type="month"],#taskMonth{height:34px;border:1px solid #dfe5e7;border-radius:6px;background:#fff;color:#65717a;padding:0 9px;font-size:10px}
.monthly-review-reflection{margin:0;color:#69767d;font-size:10px;line-height:1.7;white-space:pre-wrap}
.monthly-review-month-reflection{margin:16px 0;padding:14px 15px;border:1px solid #e4ecf5;border-radius:7px;background:#fff}.monthly-review-month-reflection>span{display:block;color:#8194a5;font-size:9px;font-weight:700}.monthly-review-month-reflection p{margin:8px 0 0;color:#526678;font-size:11px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.major-category-picker{position:relative;min-width:0}.major-category-native{display:none!important}.major-category-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:6px 9px;border:1px solid #dce4e7;border-radius:6px;background:#fff;color:#5e6c74;font:600 10px "Noto Sans JP",sans-serif;text-align:left;cursor:pointer}.major-category-trigger:disabled{cursor:default}.major-category-trigger svg{width:14px;height:14px;flex:0 0 auto}.major-category-trigger.category-placeholder{background:#fff7dc;border-color:#efd17b;color:#8b661d}.major-category-menu{position:absolute;z-index:40;top:calc(100% + 5px);left:0;right:0;max-height:286px;overflow:auto;padding:7px;border:1px solid #dce4e7;border-radius:7px;background:#fff;box-shadow:0 14px 28px rgba(31,46,56,.16)}.major-category-menu[hidden]{display:none}.major-category-option{display:block;width:100%;padding:3px;border:0;background:transparent;text-align:left;cursor:pointer}.major-category-option:hover,.major-category-option:focus-visible{outline:0;background:#f4f7f8}.major-category-chip{display:inline-flex;align-items:center;min-height:25px;padding:2px 9px;border-radius:999px;font:700 10px/1.25 "Noto Sans JP",sans-serif}.major-category-trigger.category-yellow,.major-category-chip.category-yellow{background:#fff1bd;border-color:#edcf72;color:#815d16}.major-category-trigger.category-blue,.major-category-chip.category-blue{background:#d9edfb;border-color:#aad2eb;color:#276889}.major-category-trigger.category-peach,.major-category-chip.category-peach{background:#ffe0c6;border-color:#efb88d;color:#874d23}.major-category-trigger.category-coral,.major-category-chip.category-coral{background:#ffd5d1;border-color:#eca59d;color:#923c34}.major-category-trigger.category-gray,.major-category-chip.category-gray{background:#e7eaed;border-color:#cfd5d9;color:#53606a}.major-category-trigger.category-green,.major-category-chip.category-green{background:#def0c8;border-color:#b3d993;color:#46722e}.major-category-trigger.category-purple,.major-category-chip.category-purple{background:#e9d8f8;border-color:#cdb4e9;color:#6e478f}.major-category-trigger.category-sand,.major-category-chip.category-sand{background:#f5e4ce;border-color:#e4c397;color:#795a36}.major-category-trigger.category-teal,.major-category-chip.category-teal{background:#d3f1ec;border-color:#9fd6cc;color:#28766d}.major-category-trigger.category-rose,.major-category-chip.category-rose{background:#f9d8e7;border-color:#e9aec8;color:#914568}.major-category-trigger.category-indigo,.major-category-chip.category-indigo{background:#dce3fa;border-color:#b7c5ee;color:#4e5fa1}.major-category-trigger.category-orange,.major-category-chip.category-orange{background:#ffe0b8;border-color:#efbd78;color:#925d1e}.major-category-trigger.category-lime,.major-category-chip.category-lime{background:#e8f5c7;border-color:#c8e38f;color:#5c7e26}.major-category-trigger.category-cyan,.major-category-chip.category-cyan{background:#d0f3f7;border-color:#9bdbe3;color:#267481}.major-category-trigger.category-plum,.major-category-chip.category-plum{background:#eed8eb;border-color:#d2add0;color:#77456f}.major-category-trigger.category-amber,.major-category-chip.category-amber{background:#ffedc4;border-color:#edcb7a;color:#8a631d}.major-category-trigger[class*="category-custom-"],.major-category-chip[class*="category-custom-"]{background:var(--major-category-bg);border-color:var(--major-category-border);color:var(--major-category-text)}
.major-category-picker.is-open{z-index:50}.major-category-menu{max-height:min(286px,calc(100vh - 32px));overflow-y:auto;overscroll-behavior:contain}.major-category-picker.open-upward .major-category-menu{top:auto;bottom:calc(100% + 5px)}
.major-category-menu.is-mobile-portal{position:fixed;z-index:1000;right:auto;bottom:auto;overscroll-behavior:contain}
@media(max-width:760px){.major-category-trigger{min-height:44px;padding:8px 11px;font-size:15px}.major-category-trigger svg{width:18px;height:18px}.major-category-menu{max-height:320px;padding:8px}.major-category-option{padding:4px}.major-category-chip{min-height:31px;padding:4px 11px;font-size:14px}}
.category-admin-row .category-color{flex:0 0 auto}
.category-admin-small-row .category-admin-name-input{min-width:0;flex:1;border:1px solid #e0e5e7;border-radius:5px;background:#fff;color:#5f6c74;padding:5px 7px;font-size:10px;line-height:1.35}.category-admin-small-row .category-admin-name-input:focus{border-color:#76b69f;outline:2px solid rgba(86,160,132,.15)}.category-admin-small-row .category-admin-name-input:disabled{background:#f7f8f8;color:#97a2a7}
.category-admin-major-row{align-items:flex-start;padding:8px 0}.category-admin-major-row .category-color{margin-top:5px}.category-admin-major-copy{display:grid;gap:3px;min-width:0}.category-admin-major-copy strong{color:#627078;font-size:10px;line-height:1.35}.category-admin-major-copy small{color:#9aa5aa;font-size:8px;line-height:1.5;overflow-wrap:anywhere}.major-category-guide{margin:14px 0 2px;padding-top:12px;border-top:1px solid #eef1f2}.major-category-guide summary{color:#728087;font-size:9px;font-weight:700;cursor:pointer;list-style:none}.major-category-guide summary::-webkit-details-marker{display:none}.major-category-guide summary::after{content:'+';margin-left:7px;color:#55a084;font-size:13px}.major-category-guide[open] summary::after{content:'-'}.major-category-guide-items{display:grid;gap:7px;margin-top:10px}.major-category-guide-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;color:#8a969b;font-size:8px;line-height:1.55}.major-category-guide-item strong{color:#65747a;font-size:8px}
@media(max-width:760px){.major-category-guide{margin-top:16px}.major-category-guide summary{font-size:13px}.major-category-guide-item{grid-template-columns:92px minmax(0,1fr);font-size:12px}.major-category-guide-item strong{font-size:12px}.category-admin-major-copy strong{font-size:12px}.category-admin-major-copy small{font-size:10px}.category-admin-small-row{min-height:48px}.category-admin-small-row .category-admin-name-input{min-height:36px;padding:7px 9px;font-size:13px}.category-admin-small-row .small-icon{width:36px;height:36px}}
.member-profile-row select[multiple]{min-height:58px;padding:5px 7px}
.member-headquarters-unit{display:flex;align-items:center;gap:5px;margin-top:5px;color:#7f8c93;font-size:8px}.member-headquarters-unit>span{margin:0!important;color:#7f8c93!important;white-space:nowrap}.member-headquarters-unit select{height:25px!important;min-width:0;padding:0 5px!important;font-size:8px!important}
.manager-assignment-editor{display:grid;gap:6px;min-width:0}.manager-assignment-row{display:grid;gap:5px;padding:7px 8px;border:1px solid #e0e5e7;border-radius:6px;background:#fafbfb}.manager-assignment-row strong{font-size:9px;color:#536169}.manager-assignment-options{display:flex;flex-wrap:wrap;gap:5px}.manager-assignment-options label{display:flex;align-items:center;gap:4px;padding:3px 5px;border:1px solid #dce3e6;border-radius:4px;background:#fff;color:#5f6c74;font-size:8px;white-space:nowrap}.manager-assignment-options input{accent-color:var(--mint)}.member-manager-note{padding:8px 10px;border:1px solid #e0e5e7;border-radius:6px;background:#fafbfb}.member-manager-note p{margin:4px 0 0;color:#78858c;font-size:9px;line-height:1.55}
.task-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.task-header-actions .month-picker{display:flex;align-items:center;gap:6px}
.month-picker{display:flex;align-items:center;gap:6px}
 @media(max-width:760px){.report-month-controls{width:100%;justify-content:flex-start}.report-month-controls input[type="month"]{flex:1}.task-header-actions{width:100%;justify-content:stretch}.task-header-actions .month-picker{flex:1}.task-header-actions .month-picker input{flex:1}.task-header-actions .primary{flex:1;justify-content:center}.member-profile-row select[multiple]{width:100%}}
@media(min-width:761px){.member-profile-heading,.member-profile-row{grid-template-columns:minmax(190px,1.4fr) minmax(120px,1fr) minmax(150px,1fr) 100px 100px 65px 78px 120px}.task-participation-toggle{display:flex;align-items:center;gap:4px;color:#718089;font-size:9px;white-space:nowrap}.task-participation-toggle input{accent-color:var(--mint)}}
.sidebar-logout{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#718089;font-size:9px}.sidebar-logout:hover{border-color:#cfd7da;color:var(--ink);background:#fafcfc}.sidebar-logout:disabled{cursor:wait;opacity:.55}.sidebar-logout svg{width:13px}
@media(max-width:760px){.sidebar-logout{display:none}.app-shell.menu-open .sidebar-logout{display:flex}}
 .work-time-analysis{margin-top:22px}.work-time-analysis-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:13px 0;border-top:1px solid #edf0f1;border-bottom:1px solid #edf0f1}.work-time-analysis-metrics span{display:block;color:#93a0a7;font-size:9px;margin-bottom:5px}.work-time-analysis-metrics strong{display:block;color:#52616a;font:700 14px/1.4 "DM Sans",sans-serif}.work-time-analysis-metrics small{color:#8c989e;font:500 9px "Noto Sans JP",sans-serif}.work-time-analysis-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;padding-top:18px}.work-time-analysis-chart{display:flex;flex-direction:column;align-items:center;gap:9px}.work-time-donut{width:134px;height:134px;border-radius:50%;display:grid;place-items:center;position:relative}.work-time-donut:after{content:"";position:absolute;inset:23px;border-radius:50%;background:#fff}.work-time-donut span{position:relative;z-index:1;color:#52616a;font:700 25px/1 "DM Sans",sans-serif}.work-time-donut small{font:500 11px "DM Sans",sans-serif}.work-time-analysis-chart p{margin:0;color:#93a0a7;font-size:9px}.work-time-analysis-list{display:flex;flex-direction:column;border-top:1px solid #edf0f1}.work-time-analysis-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f1;color:#65727a}.work-time-analysis-swatch{width:8px;height:8px;border-radius:50%}.work-time-analysis-row strong{min-width:0;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-time-analysis-row>span:not(.work-time-analysis-swatch){font:700 10px "DM Sans",sans-serif;color:#56656e}.work-time-analysis-row small{grid-column:2/-1;color:#98a3a9;font-size:8px}@media(max-width:760px){.work-time-analysis-metrics{grid-template-columns:1fr;gap:10px}.work-time-analysis-metrics span{font-size:12px}.work-time-analysis-metrics strong{font-size:17px}.work-time-analysis-grid{grid-template-columns:1fr;gap:18px}.work-time-donut{width:156px;height:156px}.work-time-donut:after{inset:27px}.work-time-donut span{font-size:28px}.work-time-analysis-chart p{font-size:12px}.work-time-analysis-row{grid-template-columns:10px minmax(0,1fr) auto;gap:9px;padding:11px 0}.work-time-analysis-row strong,.work-time-analysis-row>span:not(.work-time-analysis-swatch){font-size:14px}.work-time-analysis-row small{font-size:12px}}
@media(max-width:760px){html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-size:15px;line-height:1.6}.content{padding:22px 16px 48px}h1{font-size:24px;line-height:1.42;letter-spacing:0}h2,.section-head h2{font-size:19px;line-height:1.45;letter-spacing:0}h3{font-size:16px;line-height:1.5}.lead{font-size:14px;line-height:1.7}.muted{font-size:12px}.eyebrow,.kicker{font-size:10px}.card-pad{padding:18px}.primary,.save{min-height:44px;padding:11px 15px;font-size:15px}.outline{min-height:42px;padding:9px 12px;font-size:14px}.field label,.reply label{font-size:13px;margin-bottom:7px}.textarea,.field input,.field select,.field textarea{min-height:44px;padding:10px 11px;font-size:15px;line-height:1.6}.field textarea,.textarea{min-height:92px}.work-entry{padding:11px 0;gap:9px}.work-entry input,.work-entry select{height:44px;padding:0 11px;font-size:15px}.minutes span{top:13px;font-size:11px}.delete{width:42px;height:42px}.delete svg{width:18px;height:18px}.add-row{min-height:40px;font-size:14px}.total-row{font-size:13px}.total-row strong{font-size:17px}.todo-row{grid-template-columns:24px 1fr auto;gap:9px;padding:10px 0}.todo-check{width:22px;height:22px}.todo-row input{min-height:42px;padding:9px 10px;font-size:15px}.todo-due{font-size:12px}.badge{padding:5px 8px;font-size:12px}.tabs span,.tabs button{min-height:36px;padding:7px 11px;font-size:12px}.month-picker,.report-month-controls{font-size:13px}.month-picker input,.report-month-controls input[type="month"],#taskMonth{height:44px;font-size:15px}.quest-card h3{font-size:18px}.quest-card .quest-description,.quest-meta,.quest-assignee-label,.quest-locked{font-size:13px;line-height:1.7}.quest-card-footer .primary{font-size:14px}.quest-applicant,.quest-applicants>strong,.quest-submission-head,.quest-submission-content{font-size:13px}.quest-submission-input textarea{min-height:76px;font-size:15px}.task-submission-content,.task-submission-pending p{font-size:13px;line-height:1.7}.task-submission-input textarea{min-height:76px;font-size:15px}.task-submit-button{min-height:42px;font-size:14px}.monthly-review-month-summary span,.monthly-review-month-reflection>span{font-size:12px}.monthly-review-month-summary strong,.monthly-review-month-reflection p{font-size:15px;line-height:1.75}.monthly-guideline-help{font-size:13px;line-height:1.7}.monthly-review-row{font-size:13px}.login-panel .login-kicker{font-size:11px}.login-panel h1{font-size:26px}.login-description{font-size:14px;line-height:1.7}.login-footnote{font-size:12px;line-height:1.7}}

.nav-alert-dot{width:7px;height:7px;margin-left:auto;border-radius:50%;background:var(--coral);flex:0 0 auto}
.month-unsubmitted-row{cursor:pointer}.month-unsubmitted-row td{background:#fffaf7}.month-unsubmitted-row:hover td{background:#fff4ee}.month-unsubmitted-row .badge{white-space:nowrap}

/* Keep the numeric value and the minute suffix in separate layout columns. */
.minutes{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.minutes input{width:100%;min-width:0;padding-right:9px!important}.minutes span{position:static!important;display:block;padding:0 9px 0 0;white-space:nowrap;pointer-events:none}

/* Compact multi-department selector: choices only open on demand. */
.member-profile-editor{overflow:visible}.member-profile-save-area{display:flex;align-items:center;justify-content:flex-end;gap:10px}.member-bulk-save{white-space:nowrap}.member-profile-list{min-width:0;overflow:visible;contain:none}.member-profile-heading,.member-profile-row{min-width:0}.member-profile-row>*{min-width:0}.member-profile-row.has-open-multi-choice{position:relative;z-index:70;content-visibility:visible;contain:none}.multi-choice{position:relative;min-width:0;padding:0;border:0;background:transparent}.multi-choice.is-open{z-index:80}.multi-choice-trigger{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-height:32px;padding:6px 8px;border:1px solid #e0e5e7;border-radius:6px;background:#fff;color:#5f6c74;font-size:9px;text-align:left}.multi-choice-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-choice-trigger svg{width:14px;height:14px;flex:0 0 auto}.multi-choice-menu{position:absolute;z-index:60;top:calc(100% + 4px);left:0;width:max-content;min-width:220px;max-width:min(320px,calc(100vw - 32px));max-height:min(300px,calc(100vh - 32px));overflow-y:auto;padding:8px;border:1px solid #dce4e7;border-radius:7px;background:#fff;color:#5f6c74;font-size:9px;text-align:left;box-shadow:0 14px 28px rgba(31,46,56,.16)}.multi-choice.open-upward .multi-choice-menu{top:auto;bottom:calc(100% + 4px)}.multi-choice-menu[hidden]{display:none}.multi-choice-help{margin-bottom:6px}.multi-choice-options{display:flex;flex-wrap:wrap;gap:5px}.multi-choice-options label{min-height:30px}.member-profile-actions{display:flex;align-items:center;justify-content:center;min-width:44px}.member-profile-actions .small-icon{flex:0 0 30px}@media(min-width:761px){.member-profile-heading,.member-profile-row{grid-template-columns:minmax(180px,1.2fr) minmax(128px,.8fr) minmax(170px,1.1fr) 88px 88px 60px 70px 44px;gap:7px}.member-profile-actions{gap:0}.manager-assignment-row{padding:6px 7px}}
@media(max-width:760px){.multi-choice-trigger{min-height:44px;padding:9px 11px;font-size:15px}.multi-choice-trigger svg{width:18px;height:18px}.multi-choice-menu{left:0;right:0;width:auto;max-width:none;padding:9px}.multi-choice-menu .multi-choice-help{font-size:12px}.multi-choice-menu .multi-choice-options{grid-template-columns:1fr 1fr}.multi-choice-menu .multi-choice-options label{min-height:40px;font-size:13px}.department-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:3px;padding:3px}.department-tabs button{display:flex;align-items:center;justify-content:center;min-width:0;height:78px;padding:5px 3px;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;line-height:1.1}.department-tabs button.active{box-shadow:0 2px 4px rgba(24,36,45,.07)}}

/* On phones the member-management heading and bulk-save action need separate rows. */
@media(max-width:760px){.member-profile-editor>.section-head{align-items:stretch;flex-direction:column;gap:12px}.member-profile-editor>.section-head>div:first-child{min-width:0}.member-profile-editor>.section-head h2{white-space:nowrap}.member-profile-save-area{width:100%;align-items:flex-start;justify-content:space-between}.member-profile-save-area .muted{flex:1;font-size:12px;line-height:1.6}.member-bulk-save{flex:0 0 auto;min-height:44px}}

/* A major category has one visible control. The data field stays hidden. */
.live-refresh-status{display:flex;justify-content:flex-end;min-height:16px;margin:-12px 0 10px;color:#8d989f;font-size:9px}.admin-loading-card{min-height:440px}.admin-loading-head,.admin-loading-row{display:grid;grid-template-columns:1.45fr 1fr 1.35fr .82fr .75fr .42fr .56fr .28fr;gap:16px;align-items:center}.admin-loading-head{padding:0 0 12px;border-bottom:1px solid var(--line)}.admin-loading-head span{height:9px;background:#edf0f1;border-radius:4px}.admin-loading-rows{display:flex;flex-direction:column}.admin-loading-row{min-height:74px;border-bottom:1px solid #eef1f2}.admin-loading-row span{height:22px;border-radius:6px;background:linear-gradient(90deg,#f2f4f4 25%,#fafbfb 50%,#f2f4f4 75%);background-size:200% 100%;animation:admin-loading-shimmer 1.1s ease-in-out infinite}.admin-loading-row span:first-child{height:35px}.admin-loading-row span:last-child{width:30px;justify-self:end}@keyframes admin-loading-shimmer{to{background-position:-200% 0}}
.category-inline-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:12px 0;padding:10px;border:1px solid #dfe6e8;border-radius:7px;background:#fafcfc}.category-inline-add .field{margin:0}.category-inline-add .form-actions{display:flex;gap:6px;margin:0}.category-inline-add .outline,.category-inline-add .save{min-height:32px;padding:5px 8px;font-size:10px}@media(max-width:760px){.category-inline-add{grid-template-columns:1fr;padding:10px}.category-inline-add .form-actions{justify-content:flex-end}.category-inline-add .outline,.category-inline-add .save{min-height:42px;padding:9px 12px;font-size:14px}}
.major-category-value{display:none!important}
.task-review-actions{display:inline-flex;gap:6px;flex-wrap:wrap}.task-review-actions .outline{min-height:32px;padding:5px 8px;font-size:10px}.task-return-button{color:#9d4a35;border-color:#e6b7ab}.task-return-form{display:grid;gap:9px;margin-top:10px;padding:11px;border:1px solid #f0c8bd;border-radius:7px;background:#fff9f7}.task-return-form label{display:grid;gap:5px;color:#8b493b;font-size:10px;font-weight:700}.task-return-form textarea{min-height:78px;resize:vertical}.task-return-form>div{display:flex;justify-content:flex-end;gap:7px}.task-return-comment{margin-top:10px;padding:9px 11px;border-left:3px solid #d36e58;border-radius:5px;background:#fff8f5}.task-return-comment strong{color:#944634;font-size:10px}.task-return-comment p{margin:5px 0 0;color:#5d6469;font-size:11px;line-height:1.6;white-space:pre-wrap}
.task-submission-heading{flex-wrap:wrap}.task-submission-heading .task-submission-time{margin-left:auto;color:#66757b;font-size:10px}.task-return-form input[type=date]{width:min(100%,260px);min-height:38px}.task-penalty-button{color:#b75e50;border-color:#edc6bf}@media(max-width:760px){.task-review-actions{width:100%}.task-review-actions .outline{min-height:40px;font-size:12px}.task-submission-heading .task-submission-time{width:100%;margin-left:0;font-size:12px}.task-return-form input[type=date]{width:100%;min-height:44px}}
.work-log-copy{white-space:nowrap}@media(max-width:760px){.work-log-copy{align-self:flex-start;min-height:34px;padding:6px 8px;font-size:12px;gap:4px}.work-log-copy svg{width:14px;height:14px}}
.manager-comment-actions{align-items:center}.manager-comment-actions .outline{white-space:nowrap}@media(max-width:760px){.manager-comment-actions{justify-content:space-between;flex-wrap:wrap}.manager-comment-actions .outline,.manager-comment-actions .save{min-height:52px;padding:11px 13px;font-size:14px}.manager-comment-actions .save{margin-left:auto}}
.department-pending-banner.is-actionable{cursor:pointer}.department-pending-banner.is-actionable:hover{border-color:#e9bfb5;background:#fff4f1}.department-pending-banner.is-actionable:focus-visible{outline:3px solid rgba(239,120,109,.28);outline-offset:3px}.department-pending-banner.is-actionable .push{font-weight:700}@media(max-width:760px){.department-pending-banner.is-actionable{min-height:104px}.department-pending-banner.is-actionable .push{white-space:nowrap}}
.manager-member-nav-action span{white-space:nowrap}@media(max-width:760px){.manager-member-nav-action{width:52px;min-width:52px;justify-content:center;padding:11px}.manager-member-nav-action span{display:none}}
.department-page-controls select{height:34px;min-width:108px;border:1px solid #dfe5e7;border-radius:6px;background:#fff;color:#52616a;padding:0 28px 0 9px;font:600 10px "Noto Sans JP",sans-serif}.department-analysis-controls{display:flex;justify-content:flex-end;margin:26px 0 13px}.department-analysis-controls .department-tabs{margin-left:auto}@media(max-width:760px){.department-page-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 92px;gap:8px;align-items:center}.department-page-controls label{grid-column:1;font-size:12px}.department-page-controls label[for="departmentPicker"]{grid-row:1}.department-page-controls select{grid-column:2;grid-row:1;width:100%;min-width:0;height:44px;font-size:15px}.department-page-controls [data-action="toggle-department-category-editor"]{grid-column:3;grid-row:1;width:92px;min-width:92px;height:44px;min-height:44px;padding:0 8px;gap:4px;justify-content:center;font-size:12px}.department-page-controls [data-action="toggle-department-category-editor"] span{display:inline;white-space:nowrap}.department-page-controls label[for="departmentMonth"]{grid-row:2}.department-page-controls input[type="month"]{grid-column:2;grid-row:2;width:100%;min-width:0}.department-page-controls [data-action="export"]{grid-column:3;grid-row:2;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;justify-content:center;font-size:0}.department-page-controls [data-action="export"] svg{width:19px;height:19px}.department-analysis-controls{margin-top:24px}.department-analysis-controls .department-tabs{margin-left:0}}
@media(min-width:761px){.member-profile-heading,.member-profile-row{grid-template-columns:minmax(154px,1.1fr) minmax(112px,.72fr) minmax(144px,1fr) 76px 76px 52px 58px 66px 76px 44px;gap:6px}}

/* Mobile pages must remain within the viewport even when a member or department name is long. */
@media(max-width:760px){
  html,body,#app,.app-shell,.main{width:100%;max-width:100%;overflow-x:clip}
  .content{width:100%;max-width:100%;min-width:0}
  .content>*{min-width:0;max-width:100%}
  .page-title>div,.banner>div,.section-head>div{min-width:0}
  .page-title h1{overflow-wrap:anywhere;word-break:normal}
  .page-title .lead,.banner p,.section-head .muted{overflow-wrap:anywhere}
  .page-title .primary{max-width:100%;white-space:normal}
  .month-summary,.status-cards,.focus-cards{width:100%;min-width:0}
}

/* The authentication shell is also used before the application frame exists. */
@media(max-width:760px){
  .login{width:100%;min-width:0;max-width:100%;padding:14px;overflow-x:clip}
  .login-frame,.login-welcome,.login-panel{width:100%;min-width:0;max-width:100%}
  .login-welcome h2,.login-panel h1,.login-description,.login-footnote{max-width:100%;overflow-wrap:anywhere}
  .alert-groups{grid-template-columns:minmax(0,1fr);gap:14px}
  .alert-group,.alert-name-list,.alert-person{min-width:0;max-width:100%}
  .alert-name-list button{max-width:100%}
  .alert-person>button:first-child{min-width:0;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis}
  .alert-person .alert-dismiss{flex:0 0 24px}
}

/* Keep the personal report archive compact while allowing people to enlarge it when needed. */
.personal-report-records-scroll{height:460px;min-height:280px;overflow:auto;resize:vertical;border:1px solid var(--line);border-radius:6px}
.personal-report-records-scroll .table th{position:sticky;top:0;z-index:1}
@media(max-width:760px){.personal-report-records-scroll{height:420px;min-height:240px;resize:vertical}}

/* Persistent ToDos and inline work-row insertion controls. */
.work-entry{grid-template-columns:150px 145px minmax(0,1fr) 75px 25px 25px 25px}
.work-entry .insert-entry,.work-entry .duplicate{border:0;background:transparent;color:#84939a;display:grid;place-items:center;padding:0}
.work-entry .insert-entry:hover,.work-entry .duplicate:hover{color:#3f8d74}
.work-entry .duplicate:disabled{opacity:.35;cursor:not-allowed}
.todo-row{position:relative;grid-template-columns:32px minmax(0,1fr) 32px;grid-template-areas:"check text delete" ". due .";column-gap:7px;row-gap:1px;margin:0 -7px;padding:8px 7px;border-radius:6px;transition:background-color .16s ease,opacity .2s ease}
.todo-row:hover,.todo-row:focus-within{background:#f3f7f9}
.todo-check{grid-area:check;position:relative;width:32px;height:32px;min-width:32px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;display:grid;place-items:center}
.todo-check:before{content:"";position:absolute;width:20px;height:20px;border:2px solid #8b969c;border-radius:50%;background:#fff;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}
.todo-check:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#4f9a80;font-size:15px;font-weight:700;line-height:1;opacity:0;transform:scale(.72);transition:opacity .14s ease,transform .14s ease}
.todo-row:not(.done) .todo-check:hover:before{border-color:#4f9a80;background:#eef8f4;transform:scale(1.04)}
.todo-row:not(.done) .todo-check:hover:after{opacity:1;transform:scale(1)}
.todo-row.done .todo-check{background:transparent;border-color:transparent}
.todo-row.done .todo-check:before{background:#4f9a80;border-color:#4f9a80}
.todo-row.done .todo-check:after{display:none}
.todo-check span{position:relative;z-index:1;font-size:15px;font-weight:700;line-height:1}
.todo-row.is-completing{background:#eef8f4;animation:todoCompletePause .48s ease both}
.todo-row.done .todo-text{color:#9aa5aa;background:transparent;text-decoration:line-through;text-decoration-thickness:1.5px}
@keyframes todoCompletePause{0%{opacity:1}70%{opacity:1}100%{opacity:.7}}
.todo-text{grid-area:text}
.todo-due{grid-area:due}
.todo-delete{grid-area:delete;width:32px;height:32px;min-width:32px;border-radius:50%;opacity:0;transition:opacity .14s ease,color .14s ease,background-color .14s ease}
.todo-row:hover .todo-delete,.todo-row:focus-within .todo-delete{opacity:1}
.todo-check:focus-visible,.todo-delete:focus-visible{outline:3px solid rgba(93,178,148,.3);outline-offset:2px}
.todo-delete{border:0;background:transparent;color:#a9b3b8;display:grid;place-items:center;padding:0}
.todo-delete:hover{color:#c7675e;background:#fff}
.todo-completed{margin-top:10px;border-top:1px solid var(--line);color:#78858c;font-size:10px}
.todo-completed summary{cursor:pointer;padding:10px 0}
.todo-completed .todo-row:first-child{border-top:0}
@media(max-width:760px){.work-entry{grid-template-columns:1fr 1fr 24px 24px 24px;gap:7px}.work-entry input[data-entry="content"]{grid-column:1/-1}.work-entry .minutes{grid-column:1}.work-entry .insert-entry{grid-column:3}.work-entry .duplicate{grid-column:4}.work-entry .delete{grid-column:5;justify-self:end}}
@media(max-width:760px){.todo-row{grid-template-columns:44px minmax(0,1fr) 44px;column-gap:5px}.todo-check,.todo-delete{width:44px;height:44px;min-width:44px}.todo-check:before{width:24px;height:24px}.todo-delete{opacity:1}.todo-completed summary{min-height:44px;display:flex;align-items:center;font-size:13px}}
@media(prefers-reduced-motion:reduce){.todo-row,.todo-check:before,.todo-check:after,.todo-delete{transition:none}.todo-row.is-completing{animation:none}}

/* Keep category pickers compact, reserve space for details, and contain every row action. */
.input-layout,.input-layout>div,.input-layout .card,.input-layout #workEntries,.input-layout .work-entry{min-width:0;max-width:100%}
.grid.two.input-layout{grid-template-columns:minmax(620px,2.15fr) minmax(300px,1fr);align-items:start}
.input-layout #workEntries{container:work-log/inline-size}
.input-layout .work-entry{width:100%;grid-template-columns:minmax(105px,125px) minmax(115px,135px) minmax(240px,1fr) 64px 28px 28px 28px;gap:8px}
.input-layout .work-entry>*{min-width:0}
.small-category-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;min-width:0}
.small-category-field select{width:100%;min-width:0}
.small-category-retry{display:grid;place-items:center;width:28px;height:34px;min-width:28px;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:#6d7c84}
.small-category-retry:hover{border-color:#9bcbbb;color:#2f8f73;background:#f3faf7}
.small-category-retry:disabled{cursor:wait;opacity:.55}
.small-category-retry svg{width:15px;height:15px}
.input-layout .work-entry .insert-entry,.input-layout .work-entry .duplicate,.input-layout .work-entry .delete{width:28px;height:34px;min-width:28px;margin:0;padding:0}
@media(max-width:1260px){.grid.two.input-layout{grid-template-columns:minmax(0,1fr)}}
@container work-log (max-width:700px){.input-layout .work-entry{grid-template-columns:minmax(0,1fr) 44px 44px 44px;grid-template-areas:"major major major major" "small small small small" "detail detail detail detail" "minutes insert duplicate delete";gap:7px}.input-layout .work-entry .major-category-picker{grid-area:major}.input-layout .work-entry .small-category-field{grid-area:small}.input-layout .work-entry>input[data-entry="content"]{grid-area:detail}.input-layout .work-entry .minutes{grid-area:minutes}.input-layout .work-entry .insert-entry{grid-area:insert}.input-layout .work-entry .duplicate{grid-area:duplicate}.input-layout .work-entry .delete{grid-area:delete}.input-layout .work-entry .small-category-retry,.input-layout .work-entry .insert-entry,.input-layout .work-entry .duplicate,.input-layout .work-entry .delete{width:44px;height:44px;min-width:44px;margin:0;padding:0}}
@media(max-width:900px){.input-layout .work-entry{grid-template-columns:minmax(0,1fr) 44px 44px 44px;grid-template-areas:"major major major major" "small small small small" "detail detail detail detail" "minutes insert duplicate delete";gap:7px}.input-layout .work-entry .major-category-picker{grid-area:major}.input-layout .work-entry .small-category-field{grid-area:small}.input-layout .work-entry>input[data-entry="content"]{grid-area:detail}.input-layout .work-entry .minutes{grid-area:minutes}.input-layout .work-entry .insert-entry{grid-area:insert}.input-layout .work-entry .duplicate{grid-area:duplicate}.input-layout .work-entry .delete{grid-area:delete}.input-layout .work-entry .small-category-retry,.input-layout .work-entry .insert-entry,.input-layout .work-entry .duplicate,.input-layout .work-entry .delete{width:44px;height:44px;min-width:44px;margin:0;padding:0}}
@container work-log (max-width:700px){.input-layout .work-entry .small-category-field{grid-template-columns:minmax(0,1fr) 44px}.input-layout .work-entry .small-category-field>select{grid-column:auto;height:44px;padding:0 11px;font-size:15px}.input-layout .work-entry .major-category-trigger,.input-layout .work-entry>input[data-entry="content"],.input-layout .work-entry .minutes input{min-height:44px;font-size:15px}.input-layout .work-entry .major-category-trigger{padding:8px 11px}.input-layout .work-entry .minutes span{top:13px;font-size:11px}}
@media(max-width:900px){.input-layout .work-entry .small-category-field{grid-template-columns:minmax(0,1fr) 44px}.input-layout .work-entry .small-category-field>select{grid-column:auto;height:44px;padding:0 11px;font-size:15px}.input-layout .work-entry .major-category-trigger,.input-layout .work-entry>input[data-entry="content"],.input-layout .work-entry .minutes input{min-height:44px;font-size:15px}.input-layout .work-entry .major-category-trigger{padding:8px 11px}.input-layout .work-entry .minutes span{top:13px;font-size:11px}}

/* Keep one compact row on desktop. Narrow screens use two contained rows so
   the whole page never needs horizontal scrolling. */
.input-layout #workEntries{container:work-log / inline-size;overflow:visible;padding-bottom:2px}
.input-layout .work-entry{
  min-width:590px;
  grid-template-columns:minmax(92px,.85fr) minmax(92px,.85fr) minmax(220px,2.8fr) 76px 24px 24px 24px;
  grid-template-areas:none;
  gap:5px;
}
.input-layout .work-entry .major-category-picker,
.input-layout .work-entry .small-category-field,
.input-layout .work-entry>input[data-entry="content"],
.input-layout .work-entry .minutes,
.input-layout .work-entry .insert-entry,
.input-layout .work-entry .duplicate,
.input-layout .work-entry .delete{grid-area:auto;grid-column:auto;grid-row:auto}
.input-layout .work-entry .major-category-trigger,
.input-layout .work-entry .small-category-field>select,
.input-layout .work-entry>input[data-entry="content"],
.input-layout .work-entry .minutes input{height:36px;min-height:36px;padding:0 9px;font-size:11px}
.input-layout .work-entry .major-category-trigger{padding:6px 9px}
.input-layout .work-entry .minutes span{top:10px;font-size:10px}
.input-layout .work-entry .small-category-field{display:block}
.input-layout .work-entry .insert-entry,
.input-layout .work-entry .duplicate,
.input-layout .work-entry .delete{width:24px;height:36px;min-width:24px;margin:0;padding:0}
.input-layout .work-entry .insert-entry svg,
.input-layout .work-entry .duplicate svg,
.input-layout .work-entry .delete svg{width:13px;height:13px}
@media(max-width:1299px){
  .grid.two.input-layout{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:1300px){
  .grid.two.input-layout{grid-template-columns:minmax(728px,2.7fr) minmax(270px,.8fr)}
  .app-shell>.sidebar{width:190px!important;min-width:190px!important;max-width:190px!important;flex-basis:190px!important}
  .sidebar .brand{justify-content:center}
  .sidebar .brand>div:last-child{display:none}
}
@container work-log (max-width:620px){
  .input-layout .work-entry{
    min-width:0;
    grid-template-columns:repeat(6,minmax(0,1fr));
    grid-template-areas:"major major major small small small" "detail detail detail detail detail detail" "minutes minutes minutes insert duplicate delete";
    gap:7px;
  }
  .input-layout .work-entry .major-category-picker{grid-area:major}
  .input-layout .work-entry .small-category-field{display:block;grid-area:small}
  .input-layout .work-entry>input[data-entry="content"]{grid-area:detail}
  .input-layout .work-entry .minutes{grid-area:minutes}
  .input-layout .work-entry .insert-entry{grid-area:insert}
  .input-layout .work-entry .duplicate{grid-area:duplicate}
  .input-layout .work-entry .delete{grid-area:delete}
  .input-layout .work-entry .major-category-trigger,
  .input-layout .work-entry .small-category-field>select,
  .input-layout .work-entry>input[data-entry="content"],
  .input-layout .work-entry .minutes input{width:100%;height:40px;min-height:40px;padding:0 8px;font-size:14px}
  .input-layout .work-entry .insert-entry,
  .input-layout .work-entry .duplicate,
  .input-layout .work-entry .delete{width:36px;height:40px;min-width:36px;justify-self:end}
}
@media(max-width:760px){
  html,body,#app{overflow-x:hidden;overflow-x:clip}
  .input-layout .focus-plan-editor,
  .input-layout .focus-editor-grid,
  .input-layout .focus-editor-item{min-width:0;max-width:100%;overflow-x:hidden}
  .input-layout .focus-plan-editor>.section-head{align-items:flex-start;flex-direction:column;gap:4px}
  .input-layout .focus-plan-editor>.section-head h2,
  .input-layout .focus-plan-editor>.section-head .muted{white-space:nowrap}
  .input-layout .focus-plan-editor textarea{font-size:16px}
  .input-layout .work-entry{
    min-width:0;
    grid-template-columns:repeat(6,minmax(0,1fr));
    grid-template-areas:"major major major small small small" "detail detail detail detail detail detail" "minutes minutes minutes insert duplicate delete";
    gap:7px;
  }
  .input-layout .work-entry .major-category-picker{grid-area:major}
  .input-layout .work-entry .small-category-field{display:block;grid-area:small}
  .input-layout .work-entry>input[data-entry="content"]{grid-area:detail}
  .input-layout .work-entry .minutes{grid-area:minutes}
  .input-layout .work-entry .insert-entry{grid-area:insert}
  .input-layout .work-entry .duplicate{grid-area:duplicate}
  .input-layout .work-entry .delete{grid-area:delete}
  .input-layout .work-entry .major-category-trigger,
  .input-layout .work-entry .small-category-field>select,
  .input-layout .work-entry>input[data-entry="content"],
  .input-layout .work-entry .minutes input{width:100%;height:38px;min-height:38px;padding:0 8px;font-size:16px}
  .input-layout .work-entry .insert-entry,
  .input-layout .work-entry .duplicate,
  .input-layout .work-entry .delete{width:36px;height:40px;min-width:36px;justify-self:end}
}
.work-log-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
@media(max-width:760px){
  .work-log-actions{width:100%;justify-content:flex-start}
}
@media(min-width:901px){
  .input-layout .work-entry{
    min-width:0;
    grid-template-columns:minmax(86px,.85fr) minmax(86px,.85fr) minmax(160px,2.8fr) 76px 24px 24px 24px;
    grid-template-areas:none;
  }
  .input-layout .work-entry .major-category-picker,
  .input-layout .work-entry .small-category-field,
  .input-layout .work-entry>input[data-entry="content"],
  .input-layout .work-entry .minutes,
  .input-layout .work-entry .insert-entry,
  .input-layout .work-entry .duplicate,
  .input-layout .work-entry .delete{grid-area:auto;grid-column:auto;grid-row:auto}
}
.input-layout .work-entry .delete,.persistent-todos .todo-delete{color:#78878f}
/* Keep the category menu anchored to its picker instead of detaching it to the viewport. */
@media(max-width:1000px){
  .input-layout .major-category-menu{position:absolute;z-index:200;right:0;left:0;width:auto;max-height:min(320px,calc(100dvh - 32px))}
}
@media(min-width:761px) and (max-width:1000px) and (pointer:coarse){
  .input-layout .work-entry .major-category-trigger,
  .input-layout .work-entry .small-category-field>select,
  .input-layout .work-entry>input[data-entry="content"],
  .input-layout .work-entry .minutes input{font-size:16px}
}
@media(pointer:coarse){.persistent-todos .todo-delete{opacity:1}}

/* Keep report results readable without changing the established card hierarchy. */
.detail-focus-item p{font-size:12px;line-height:1.7}
@media(max-width:760px){.detail-focus-item p{font-size:14px;line-height:1.7}}
@media(min-width:761px){.manager-detail-comment #reviewCommentText,.manager-detail-comment .member-reply-note p{font-size:12px;line-height:1.7}}
.member-detail-back{flex:0 0 auto;min-width:0;min-height:36px;padding:8px 12px;line-height:1.2;white-space:nowrap}
.member-detail-back span{white-space:nowrap}

/* ToDo text gets the available width; completion and delete controls stay
   quiet and compact at every viewport size. */
.persistent-todos .todo-row{
  grid-template-columns:24px minmax(0,1fr) 24px;
  grid-template-areas:"check text delete" ". due .";
  column-gap:6px;
  row-gap:0;
  margin:0 -4px;
  padding:7px 4px;
}
.persistent-todos .todo-check{width:24px;height:32px;min-width:24px}
.persistent-todos .todo-check:before{width:15px;height:15px;border-width:1.5px}
.persistent-todos .todo-check:after{font-size:11px}
.persistent-todos .todo-check span{font-size:11px}
.persistent-todos .todo-text{grid-area:text;width:100%;min-width:0;min-height:36px;padding:7px 9px;font-size:11px}
.persistent-todos .todo-due{grid-area:due;align-self:center;white-space:nowrap;font-size:10px}
.persistent-todos .todo-delete{grid-area:delete;width:24px;height:32px;min-width:24px;border-radius:5px}
.persistent-todos .todo-delete svg{width:12px;height:12px}
@media(max-width:760px){
  .persistent-todos .todo-row{grid-template-columns:40px minmax(0,1fr) 40px;grid-template-areas:"check text delete" ". due .";column-gap:3px}
  .persistent-todos .todo-check{width:40px;height:44px;min-width:40px}
  .persistent-todos .todo-check:before{width:15px;height:15px}
  .persistent-todos .todo-delete{width:40px;height:44px;min-width:40px;opacity:1}
  .persistent-todos .todo-text{min-height:36px;font-size:14px}
}
.live-data-warning{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid #e5c979;border-radius:6px;background:#fff9e8;color:#675625;font-size:12px}
.live-data-warning button{flex:0 0 auto;border:0;background:transparent;color:#236f5a;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.report-penalty-section{margin-top:18px}
.report-penalty-details{margin-top:8px}
.report-penalty-details summary{cursor:pointer;color:#276b58;font-size:14px;font-weight:700;padding:12px 0;min-height:44px}
.report-penalty-summary{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:8px 0 18px;border-bottom:1px solid #e5eaed}
.report-penalty-summary span{font-size:14px;color:#53636c}
.report-penalty-summary strong{font-size:23px;color:#b1453e}
.report-penalty-summary small{margin-left:auto;color:#687782;font-size:12px}
.report-penalty-assignments,.report-penalty-form{padding:18px 0;border-bottom:1px solid #e5eaed}
.report-penalty-assignments h3,.report-penalty-form h3{margin:0 0 12px;font-size:15px}
.report-penalty-assignment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.report-penalty-assignment-list form{display:flex;gap:8px;align-items:end;min-width:0}
.report-penalty-assignment-list form label{flex:1}
.report-penalty-assignment-list form button{min-height:44px}
.report-penalty-assignment-list label,.report-penalty-form label{display:grid;gap:5px;min-width:0;color:#53636c;font-size:12px}
.report-penalty-assignment-list select,.report-penalty-form :is(select,input,textarea){width:100%;min-width:0;min-height:44px;padding:8px 10px;border:1px solid #d5dfe4;border-radius:6px;background:#fff;color:#1d2931;font:inherit;font-size:14px}
.report-penalty-form{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr)) auto;align-items:end;gap:10px}
.report-penalty-form h3{grid-column:1/-1;margin-bottom:0}
.report-penalty-form fieldset{border:0;padding:0;margin:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:#53636c}
.report-penalty-form legend{font-size:12px;padding:0 0 5px}
.report-penalty-form fieldset label{display:flex;align-items:center;gap:4px;white-space:nowrap}
.report-penalty-form fieldset input{width:auto;min-height:0;accent-color:#276b58}
.report-penalty-form .report-penalty-reason{grid-column:1/-2}
.report-penalty-form textarea{resize:vertical;min-height:44px}
.report-penalty-form button{min-height:44px;white-space:nowrap}
.report-penalty-list{padding-top:5px}
.report-penalty-row{display:grid;grid-template-columns:155px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f2;font-size:13px}
.report-penalty-row:last-child{border-bottom:0}
.report-penalty-row span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.report-penalty-row strong{white-space:nowrap}
.report-penalty-row small{color:#64717a;font-size:12px}
.report-penalty-edit-button{min-height:36px;padding:6px 12px;white-space:nowrap}
.report-penalty-correction{display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:12px;background:#f7faf9;border-bottom:1px solid #edf0f2;font-size:13px}
.report-penalty-correction[hidden]{display:none}
.report-penalty-correction>span{width:100%;font-weight:700}
.report-penalty-correction label{display:grid;gap:4px;flex:1;min-width:160px}
.report-penalty-correction :is(input,textarea){width:100%;min-height:42px;padding:8px 10px;border:1px solid #d5dfe4;border-radius:6px;background:#fff;color:#1d2931;font:inherit}
.report-penalty-correction textarea{resize:vertical}
.report-penalty-correction button{min-height:42px}
@media(max-width:900px){.report-penalty-form{grid-template-columns:repeat(2,minmax(0,1fr))}.report-penalty-form .report-penalty-reason{grid-column:1/-1}.report-penalty-summary small{margin-left:0}}
@media(max-width:560px){.report-penalty-form{grid-template-columns:minmax(0,1fr)}.report-penalty-form .report-penalty-reason{grid-column:1}.report-penalty-form button{width:100%}.report-penalty-form label,.report-penalty-form legend,.report-penalty-assignment-list label{font-size:13px}.report-penalty-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.report-penalty-row span:nth-child(2){grid-column:1;grid-row:2}.report-penalty-row strong{grid-column:2;grid-row:1}.report-penalty-edit-button{grid-column:2;grid-row:2}.report-penalty-correction label{min-width:100%}.report-penalty-correction button{width:100%}.report-penalty-summary strong{font-size:20px}}
.task-finance-card-button{font:inherit;cursor:pointer;width:100%;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.task-finance-card-button:hover,.task-finance-card-button:focus-visible{border-color:#dfb3aa;box-shadow:0 5px 14px rgba(24,36,45,.08);transform:translateY(-1px);outline:0}.task-member-finance{font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.task-member-finance:hover,.task-member-finance:focus-visible{border-color:#b9d8cc;box-shadow:0 4px 12px rgba(24,36,45,.07);outline:0}.penalty-breakdown-overlay{position:fixed;inset:0;z-index:1400;background:rgba(20,31,39,.42);display:flex;align-items:center;justify-content:center;padding:24px}.penalty-breakdown-panel{width:min(900px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 70px rgba(20,31,39,.22);padding:24px}.penalty-breakdown-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px}.penalty-breakdown-header h2{margin:5px 0 0;font-size:22px}.penalty-breakdown-header p{margin:5px 0 0;color:#8d999f;font-size:11px}.penalty-breakdown-close{flex:0 0 auto}.penalty-breakdown-controls{display:flex;align-items:center;gap:10px;margin:18px 0}.penalty-breakdown-controls label{color:#7e8b92;font-size:10px;font-weight:700}.penalty-breakdown-controls select{width:min(300px,100%);height:40px}.penalty-breakdown-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.penalty-breakdown-summary>div{border:1px solid #edf0f1;border-radius:7px;padding:13px;background:#fafbfb}.penalty-breakdown-summary span{display:block;color:#8e999f;font-size:9px;margin-bottom:5px}.penalty-breakdown-summary strong{font:700 16px "DM Sans",sans-serif;color:#53616a}.penalty-breakdown-summary>div:first-child{background:#fff8f6;border-color:#f1d9d2}.penalty-breakdown-summary>div:first-child strong{color:#c86e63}.penalty-breakdown-list{border-top:1px solid var(--line)}.penalty-breakdown-row{display:grid;grid-template-columns:90px minmax(0,1fr) 120px 90px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f1}.penalty-breakdown-source{display:inline-flex;width:max-content;border-radius:5px;background:#f2f5f4;color:#60746b;padding:5px 7px;font-size:8px;font-weight:700}.penalty-breakdown-description strong{display:block;color:#45545c;font-size:10px}.penalty-breakdown-description small{display:block;color:#909ba1;font-size:8px;margin-top:3px}.penalty-breakdown-date{color:#7f8c93;font-size:9px}.penalty-breakdown-amount{text-align:right;font:700 11px "DM Sans",sans-serif}.penalty-breakdown-amount.danger{color:#c86e63}.penalty-breakdown-amount.earned{color:#478e78}
@media(max-width:760px){.penalty-breakdown-overlay{padding:0;align-items:stretch}.penalty-breakdown-panel{width:100%;max-height:100vh;border:0;border-radius:0;padding:18px 16px}.penalty-breakdown-header h2{font-size:20px}.penalty-breakdown-controls{align-items:stretch;flex-direction:column;gap:6px}.penalty-breakdown-controls select{width:100%}.penalty-breakdown-summary{grid-template-columns:1fr 1fr}.penalty-breakdown-summary>div:first-child{grid-column:auto}.penalty-breakdown-row{grid-template-columns:82px minmax(0,1fr) 74px;gap:8px}.penalty-breakdown-date{grid-column:2;font-size:8px}.penalty-breakdown-amount{grid-column:3;grid-row:1/3}.task-finance-card-button:hover,.task-finance-card-button:focus-visible{transform:none}}

html.penalty-breakdown-open,body.penalty-breakdown-open{overflow:hidden;overscroll-behavior:none}
.task-finance-card-button:disabled,.task-member-finance:disabled{cursor:default;opacity:.72;transform:none;box-shadow:none}
.task-finance-card-button:disabled:hover,.task-member-finance:disabled:hover{border-color:var(--line);box-shadow:none;transform:none}
.task-penalty-warning{margin-bottom:14px}
.penalty-breakdown-panel{display:flex;flex-direction:column;overflow:hidden}
.penalty-breakdown-close{width:36px;height:36px}
.penalty-breakdown-controls,.penalty-breakdown-summary{flex:0 0 auto}
.penalty-breakdown-list{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain}
.penalty-breakdown-summary span{color:#66757d;font-size:11px}
.penalty-breakdown-header p{color:#66757d;font-size:12px}
.penalty-breakdown-controls label{color:#66757d;font-size:12px}
.penalty-breakdown-controls select{min-height:44px}
.penalty-breakdown-source{font-size:10px;color:#405c50}
.penalty-breakdown-description strong{font-size:13px;line-height:1.45}
.penalty-breakdown-description small{color:#627078;font-size:11px;line-height:1.5}
.penalty-breakdown-date{color:#5f6f78;font-size:11px}
.penalty-breakdown-amount{font-size:14px}
.penalty-breakdown-amount.danger{color:#ad4f45}
.penalty-breakdown-amount.adjustment{color:#506f86}
@media(max-width:760px){.penalty-breakdown-panel{height:100dvh;max-height:100dvh;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}.penalty-breakdown-close{width:44px;height:44px;margin-right:env(safe-area-inset-right)}.penalty-breakdown-row{grid-template-columns:58px minmax(0,1fr) 78px;align-items:start}.penalty-breakdown-description strong{font-size:13px;line-height:1.45}.penalty-breakdown-description small,.penalty-breakdown-date{font-size:11px}.penalty-breakdown-amount{font-size:13px}}
@media(max-width:340px){.penalty-breakdown-row{grid-template-columns:52px minmax(0,1fr) 72px;gap:6px}}

/* Compact monthly hour guidance reuses the existing summary cards. */
.monthly-hours-guide{line-height:1.55;overflow-wrap:anywhere}
.metric .monthly-hours-guide{color:#66757d;font-size:10px}
.monthly-hours-guide b{color:#68777f;font:700 1em "DM Sans",sans-serif;white-space:nowrap}
.monthly-hours-guide b.met{color:#397a65}
.monthly-hours-guide b.behind{color:#a0574f}
.member-block-total-meta{display:flex;flex:1 1 120px;min-width:0;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;text-align:right}
.member-block-total .member-block-total-meta small{margin-left:0}
.member-block-total .monthly-hours-guide{max-width:100%;color:#66757d;font-size:9px}
@media(max-width:760px){.metric .monthly-hours-guide{font-size:11px}.member-block-total .monthly-hours-guide{font-size:10px}}

/* Private report comments are isolated from ordinary manager comments. */
.private-comment-card{margin-top:18px;border-color:#cfe5dc;background:#fff}
.private-comment-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.private-comment-visibility{margin:10px 0 14px;color:#76838b;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.private-comment-saved h3,.private-comment-reply-note-head strong{margin:0 0 8px;color:#76838b;font-size:13px;font-weight:700}
.private-comment-reply-note+.private-comment-saved{margin-top:14px}
.private-comment-reply-note{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.private-comment-reply-note-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.private-comment-reply-note-head strong{margin:0}
.private-comment-reply-empty{margin:7px 0 0;padding:10px;background:#f7f8f8;color:#929ca2;font-size:12px;line-height:1.7;border-radius:6px}
.private-badge{display:inline-flex;align-items:center;border-radius:10px;padding:4px 8px;background:#e7f4ef;color:#397862;font-size:9px;white-space:nowrap}
.private-comment-thread+.private-comment-thread{margin-top:16px;padding-top:16px;border-top:1px solid #e0ebe7}
.private-comment-thread-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:#5d6d65;font-size:12px}
.private-comment-thread-head span{color:#8a9891;font-size:11px}
.private-comment-messages{display:flex;flex-direction:column;gap:7px}
.private-comment-message{align-self:flex-start;width:100%;max-width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:6px;background:#f6faf9;text-align:left}
.private-comment-message.mine{align-self:flex-start;background:#f7f8f8;border-color:var(--line);text-align:left}
.private-comment-message-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.private-comment-edit-button{padding:3px 7px;min-height:28px;border:1px solid #cfe4dc;border-radius:5px;background:#fff;color:#397862;font-size:11px}
.private-comment-message.is-editing{width:100%;max-width:100%;background:#fff}
.private-comment-edit-label{display:block;margin:10px 0 5px;font-size:12px;color:#4f6259}
.private-comment-message textarea{display:block;width:100%;min-height:88px;padding:9px 10px;border:1px solid #dbe5e1;border-radius:6px;background:#fff;color:#34443c;resize:vertical;font-size:13px;line-height:1.65}
.private-comment-edit-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:8px}
@media(max-width:760px){.private-comment-card .section-head{flex-direction:column;align-items:flex-start;gap:8px}.private-comment-edit-button{min-height:36px;font-size:12px}.private-comment-message textarea{font-size:16px}.private-comment-edit-actions>button{min-height:44px}}
.private-comment-message strong{font-size:11px;color:#4f6259}
.private-comment-message time{font-size:11px;color:#94a099}
.private-comment-message p{margin:4px 0 0;color:#65717a;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.private-comment-reply{display:block}
.private-comment-reply textarea,.private-comment-new textarea{display:block;width:100%;min-height:92px;resize:vertical}
.private-comment-card .form-actions{justify-content:flex-end}
.private-comment-notice{margin-bottom:18px;border-color:#cfe5dc}
.private-comment-notice-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto 18px;align-items:center;gap:8px;width:100%;min-height:44px;padding:9px 6px;border:0;border-top:1px solid #e7edeb;background:transparent;color:#506159;text-align:left}
.private-comment-notice-row strong{font-size:11px}.private-comment-notice-row small{font-size:9px;color:#8b9892}.private-comment-notice-row svg{width:14px}
.private-comment-access{margin-bottom:18px;border-color:#dce7e3}.private-comment-access-controls{display:grid;grid-template-columns:minmax(180px,1fr) 160px auto;gap:10px;align-items:end}.private-comment-access-controls label{display:grid;gap:5px;color:#65756d;font-size:10px;font-weight:700}.private-comment-access-controls select,.private-comment-access-controls input{width:100%;height:38px;padding:0 10px;border:1px solid #dbe4e1;border-radius:6px;background:#fff;color:#43534c}.private-comment-access-controls .outline{height:38px;white-space:nowrap}
.private-comment-permission-toggle:before{display:none;content:"個別コメント権限"}
@media (min-width:761px) and (max-width:1180px){.member-profile-list{overflow-x:auto;overflow-y:visible}.member-profile-heading,.member-profile-row{min-width:920px}}
@media(min-width:761px){.member-profile-heading,.member-profile-row{grid-template-columns:minmax(150px,1.08fr) minmax(105px,.7fr) minmax(138px,.96fr) 70px 70px 48px 54px 58px 58px 64px 40px;gap:5px}.task-participation-toggle{white-space:normal;line-height:1.35}}
@media(max-width:760px){.private-comment-card{margin-top:14px}.private-comment-card .section-head h2{font-size:20px}.private-comment-message{max-width:100%}.private-comment-message strong{font-size:12px}.private-comment-message time{font-size:10px}.private-comment-message p{font-size:14px}.private-comment-thread-head{flex-wrap:wrap;font-size:13px}.private-comment-thread-head span{font-size:11px}.private-comment-reply textarea,.private-comment-new textarea{min-height:92px;font-size:16px}.private-comment-card .form-actions>.save{min-height:44px}.private-comment-visibility{font-size:12px}.private-comment-notice-row{grid-template-columns:22px minmax(0,1fr) 18px}.private-comment-notice-row strong{font-size:14px}.private-comment-notice-row small{grid-column:2;font-size:11px}.private-comment-notice-row>svg:last-child{grid-column:3;grid-row:1/3}.private-badge{font-size:11px}.private-comment-access-controls{grid-template-columns:minmax(0,1fr) minmax(120px,.62fr)}.private-comment-access-controls label{font-size:12px}.private-comment-access-controls select,.private-comment-access-controls input{height:44px;font-size:14px;min-width:0}.private-comment-access-controls .outline{grid-column:1/-1;width:100%;height:44px;justify-content:center}.private-comment-permission-toggle{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 8px}.private-comment-permission-toggle:before{display:block;grid-column:1/-1;color:#65727a;font-size:12px;font-weight:700}}
@media(max-width:760px){.comment-card blockquote{font-size:11px;line-height:1.8}}

/* Keep mobile work entries compact without reducing editable input text below
   16px (which would trigger automatic zoom on iPhone). */
@media(max-width:760px){
  .input-layout .work-entry{
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-template-areas:"major major major major major major major small small small small small" "detail detail detail detail detail detail detail detail detail detail detail detail" "minutes minutes minutes minutes minutes minutes insert insert duplicate duplicate delete delete";
    gap:6px;
  }
  .input-layout .work-entry .major-category-trigger,
  .input-layout .work-entry .small-category-field>select,
  .input-layout .work-entry>input[data-entry="content"],
  .input-layout .work-entry .minutes input{height:36px;min-height:36px;padding-top:0;padding-bottom:0}
  .input-layout .work-entry .major-category-trigger{gap:4px;padding:0 7px;font-size:13px;line-height:1.2;white-space:nowrap}
  .input-layout .work-entry .major-category-trigger [data-major-picker-label]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .input-layout .work-entry .major-category-trigger svg{width:14px;height:14px}
  .input-layout .work-entry .insert-entry,
  .input-layout .work-entry .duplicate,
  .input-layout .work-entry .delete{height:44px;min-width:0;width:100%}
}

.personal-report-date-picker{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.personal-report-date-picker label{color:#61717a;font-size:12px;font-weight:700;white-space:nowrap}
.personal-report-date-picker select{min-width:180px;max-width:100%;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#34454e;font-size:14px}
.personal-report-records-scroll tbody tr[hidden]{display:none}
.personal-report-records-scroll.filtered{height:auto;max-height:420px;resize:none}
@media(max-width:760px){
  .personal-report-date-picker{align-items:stretch;flex-direction:column;gap:5px}
  .personal-report-date-picker label{font-size:13px}
  .personal-report-date-picker select{width:100%;min-width:0;height:44px;font-size:16px}
}

/* Mobile admin member settings: turn the dense desktop matrix into readable cards. */
.member-profile-field{display:contents}.member-profile-field-label{display:none}
@media(max-width:760px){
  .member-profile-editor{padding:16px 12px}
  .member-profile-editor>.section-head{padding-bottom:2px}
  .member-profile-editor>.section-head h2{font-size:18px;white-space:normal}
  .member-profile-editor>.section-head .muted{font-size:12px;line-height:1.55}
  .member-profile-list{display:grid;gap:12px}
  .member-profile-heading{display:none!important}
  .member-profile-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:10px;padding:14px;border:1px solid #dfe8e9;border-radius:12px;background:linear-gradient(180deg,#fff 0%,#fbfdfd 100%);box-shadow:0 3px 10px rgba(24,36,45,.05)}
  .member-profile-row:first-of-type{border-top:1px solid #dfe8e9}
  .member-profile-row>.member-cell{grid-column:1;min-width:0;align-items:flex-start}
  .member-profile-row>.member-profile-actions{grid-column:2;grid-row:1;align-self:start;justify-content:flex-end}
  .member-profile-row>.member-profile-field{grid-column:1/-1;display:grid;gap:6px;min-width:0;margin-top:2px}
  .member-profile-field-label{display:block;color:#627179;font-size:12px;font-weight:700;line-height:1.4}
  .member-profile-field>select,.member-profile-field>input,.member-profile-field>.multi-choice{width:100%;min-width:0}
  .member-profile-field>select:not([multiple]){height:44px;padding:0 10px;font-size:15px}
  .member-profile-field>input{height:44px;padding:0 10px;font-size:16px}
  .member-profile-field>.multi-choice .multi-choice-trigger{min-height:44px;padding:9px 11px;font-size:15px}
  .member-profile-field>.multi-choice .multi-choice-trigger svg{width:18px;height:18px}
  .member-profile-field>.manager-assignment-editor{display:grid;gap:8px}
  .manager-assignment-row{padding:10px;border-radius:8px}
  .manager-assignment-row strong{font-size:12px}
  .manager-assignment-options{gap:6px}
  .manager-assignment-options label{min-height:38px;padding:7px 8px;font-size:12px}
  .member-profile-toggle-field{grid-column:span 1!important;align-content:start}
  .member-profile-toggle-field>.task-participation-toggle{display:flex;align-items:center;min-height:44px;padding:9px 10px;border:1px solid #e0e7e8;border-radius:8px;background:#fff;color:#617078;font-size:13px}
  .member-profile-toggle-field>.task-participation-toggle>span{display:none}
  .member-profile-toggle-field>.task-participation-toggle input{width:18px;height:18px;margin:0;flex:0 0 auto}
  .member-profile-actions .small-icon{width:38px;height:38px;border-radius:8px}
}
.department-private-comment-button{padding:5px 7px;border-color:#d8ebe3;color:#4b8c76;white-space:nowrap;font-size:8px}.department-private-comment-button svg{width:12px;height:12px}.department-private-comment-button:hover,.department-private-comment-button:focus-visible{border-color:#9bcbb8;color:#357760;background:#f5fcf8;outline:0}@media(max-width:760px){.department-private-comment-button{padding:7px 8px;font-size:11px}.department-private-comment-button svg{width:14px;height:14px}}
@media(max-width:760px){.monthly-review-row{font-size:14px}.monthly-review-row .member-cell strong,.monthly-review-row>div:nth-child(2){font-size:14px}}
