:root{--bg:#f5f7f8;--ink:#182b2a;--muted:#74827f;--line:#e7ecea;--green:#0c3d36;--lime:#d2ef76;--accent:#22745c;--amber:#a56a2b;--red:#bf5c4f;--radius:18px;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.4}button{border:0}svg{width:20px;height:20px;flex-shrink:0}button svg{vertical-align:middle}
:focus-visible{outline:3px solid #67a589;outline-offset:4px}button:focus-visible{border-radius:8px}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:650;letter-spacing:-.9px}h2{font-size:19px;letter-spacing:-.3px;font-weight:650}small{font-size:12px}section{scroll-margin-top:24px}html{scroll-behavior:smooth}
.sidebar{width:220px;position:fixed;inset:0 auto 0 0;padding:34px 22px 20px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}
.brand{display:flex;gap:12px;align-items:center;font-size:24px;font-weight:650;padding-left:10px;letter-spacing:3px}.brand-symbol{width:43px;height:43px;display:inline-grid;place-items:center;background:var(--green);color:var(--lime);border-radius:13px;font-size:30px;font-weight:850;line-height:1;font-family:Arial,sans-serif;letter-spacing:-3px;padding-right:3px}.brand-sub{display:block;font-size:8px;letter-spacing:1.6px;color:#889793;line-height:1.7}.workspace-tag{display:flex;align-items:center;gap:7px;margin:35px 6px 25px;font-size:12px;color:#657771}.workspace-tag i,.tiny-dot{width:6px;height:6px;border-radius:50%;background:#70a68c;display:inline-block}.workspace-tag>span{font-size:10px;color:#8b9995;margin-left:auto;background:#f2f6f4;padding:2px 6px;border-radius:4px}
nav{display:grid;gap:8px}nav a,nav button{display:flex;align-items:center;gap:12px;padding:13px 14px;text-align:left;background:transparent;color:#6f7c79;font-weight:500;font-size:13px;border-radius:10px;transition:background .18s}nav a:hover,nav button:hover{background:#f4f7f5;color:var(--green)}nav .active{background:#eaf3ee;color:#235a46}nav svg{width:19px;height:19px}.nav-dot{width:5px;height:5px;background:#458b69;border-radius:50%;margin-left:auto}
.sidebar-note{margin-top:auto;padding:48px 15px 40px;color:#6e837b;overflow:hidden;position:relative}.note-mark{color:#a4c6b3;font-size:45px;font-family:Georgia;line-height:1}.sidebar-note p{font-size:17px;line-height:1.8;letter-spacing:1px;font-weight:550}.sidebar-note small{display:block;font-size:10px;letter-spacing:2px;margin-top:15px;color:#9aa9a1}.line-art{height:70px;width:180px;border:1px solid #dce8e0;border-radius:50%;transform:rotate(-30deg);position:relative;left:20px;top:35px}.line-art:after{content:"";position:absolute;border:1px solid #dce8e0;border-radius:50%;width:180px;height:70px;left:-20px;top:20px}.sidebar-footer{border-top:1px solid var(--line);padding:20px 0 0;display:flex;align-items:center;gap:7px;font-size:11px;color:#83908a}.sidebar-footer svg{width:15px;height:15px}.sidebar-footer svg:last-child{margin-left:auto}
.workspace{margin-left:220px}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);padding:0 40px;display:flex;justify-content:space-between;align-items:center}.breadcrumb{display:flex;gap:14px;font-size:12px;color:#97a39f}.breadcrumb strong{font-weight:500;color:#4c615a}.top-actions{display:flex;align-items:center;gap:10px}.secure-label{display:flex;align-items:center;gap:5px;color:#82918b;font-size:11px;margin-right:12px}.secure-label svg{width:15px;height:15px}.viewer{font-size:12px;line-height:1.3}.viewer small{display:block;font-size:9px;color:#8d9994;margin-top:5px}
main{max-width:1440px;margin:auto;padding:24px 40px 20px}.demo-banner{border:1px solid #dfe8d0;background:#f1f6e9;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:11px;color:#687953}.demo-banner>span{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.demo-banner svg{width:15px;height:15px}.demo-banner strong{font-size:11px;font-weight:650}.segmented{display:inline-flex;background:#f1f4f2;border:1px solid #e7ece8;border-radius:8px;padding:3px;gap:2px}.segmented button{font-size:12px;border-radius:6px;padding:7px 15px;background:transparent;white-space:nowrap;color:#839086;transition:all .18s}.segmented .selected{background:#fff;color:#244a3a;box-shadow:0 1px 4px #253d2510;font-weight:600}.demo-roles{background:#e6eddc;border:0;padding:2px}.demo-roles button{font-size:10px;padding:4px 9px}.stale-banner{color:#885922;background:#fff4db;padding:12px 16px;border-radius:10px;font-size:12px;margin-top:12px}
.page-heading{display:flex;align-items:center;justify-content:space-between;margin:31px 0 25px;gap:16px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;color:#829189;margin-bottom:9px}.page-heading h1>span{color:#749c64}.page-heading p{margin-top:10px;color:#86928d;font-size:12px}.divider{padding:0 12px;color:#c8d1cb}.secondary{background:#fff;border:1px solid #e1e8e3;border-radius:8px;padding:9px 13px;display:inline-flex;gap:8px;align-items:center;font-size:11px;white-space:nowrap;color:#61756b}.secondary svg{width:14px;height:14px}.secondary:hover{border-color:#8caa9b;background:#f7faf8}
.metrics{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:18px;margin-bottom:26px}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px 18px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.metric:hover{transform:translateY(-2px);box-shadow:0 8px 18px #29483309}.metric-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;color:#7b8982;font-size:12px}.metric-icon{display:grid;place-items:center;border-radius:10px;background:#ffffff12;color:#d2e4a5;width:34px;height:34px}.metric-icon svg{width:18px;height:18px}.metric-icon.neutral{background:#f1f4f1;color:#8a9b8f}.metric-icon.mint{background:#eef4e7;color:#87a669}.metric-number{font-size:47px;font-weight:560;letter-spacing:-2.5px;line-height:1.4;margin:2px 0 8px;position:relative;z-index:1;font-variant-numeric:tabular-nums}.metric-number small{font-size:11px;letter-spacing:0;font-weight:400;margin-left:10px;color:#9aa69e}.metric-bottom{display:flex;justify-content:space-between;align-items:center;color:#92a096;font-size:10px;gap:6px;position:relative;z-index:1}.metric-bottom svg{width:14px;height:14px}.metric-featured{background:var(--green);color:#fff;border-color:var(--green)}.metric-featured .metric-top{color:#c3d4c7}.metric-featured .metric-number{color:var(--lime)}.metric-featured .metric-bottom,.metric-featured .metric-number small{color:#a4bfb0}.orbit{position:absolute;border:1px solid #cbe5b013;border-radius:50%;width:230px;height:230px;right:-105px;top:-58px}.orbit-two{width:180px;height:180px;right:-83px;top:-32px}.subtle-badge{padding:3px 7px;background:#f3f6f1;color:#8d9e81;border-radius:4px;font-size:9px;white-space:nowrap}
.main-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:22px;margin-bottom:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:25px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-index{display:block;font-size:9px;color:#a3aea7;letter-spacing:1.5px;margin-bottom:5px}.panel-description{color:#93a097;font-size:11px;margin-top:7px}.date-control{display:flex;align-items:center;gap:3px;border:1px solid #e9eee9;border-radius:7px;padding:2px 1px;flex-shrink:0}.date-control input{border:0;background:transparent;color:#6b7d71;width:116px;font-size:11px;padding:2px;min-width:0}.icon-button{display:inline-grid;place-items:center;width:29px;height:29px;background:transparent;color:#8d9e92;border-radius:7px}.icon-button:hover{background:#f1f6f2;color:var(--green)}.icon-button svg{width:16px;height:16px}.section-caption{display:flex;justify-content:space-between;margin-top:24px;padding-bottom:12px;border-bottom:1px solid #edf1ee;color:#94a098;font-size:10px}.person-row{display:flex;align-items:center;gap:12px;padding:19px 0;border-bottom:1px solid #f0f3f0}.person-row:last-child{border:0}.avatar{display:inline-grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#edf2e5;color:#7a915e;flex-shrink:0;font-size:12px;font-weight:500}.avatar-1{background:#f8f1e4;color:#b79a65}.avatar-2{background:#eaf0f4;color:#7797a8}.avatar-small{width:30px;height:30px;border-radius:9px;font-size:10px}.person-info{min-width:0}.person-info strong{font-size:13px;font-weight:550;display:block}.person-info small{font-size:10px;display:block;color:#99a69d;margin-top:4px}.absence{margin-left:auto;text-align:right;min-width:0}.absence time{display:block;color:#a0aaa4;font-size:9px;margin-top:6px}.pill{font-size:10px;display:inline-flex;align-items:center;padding:3px 10px;border-radius:5px;line-height:1.5}.green{background:#edf5eb;color:#759963}.blue{background:#eaf2f8;color:#7499b0}.amber{background:#fbf4e7;color:#ba9653}.red-pill{background:#f9ece9;color:#b97569}.panel-footnote{display:flex;align-items:center;gap:6px;color:#9aa69f;font-size:10px;border-top:1px solid #edf1ee;padding-top:14px;margin-top:3px}.panel-footnote svg{width:13px;height:13px}
.round-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#8fa394;background:#f2f6f1}.round-icon svg{width:18px;height:18px}.delivery-stats{display:flex;margin:24px 0 21px}.delivery-stats>div{width:50%;padding-left:20px;border-left:1px solid #e9eee8}.delivery-stats>div:first-child{padding-left:0;border:0}.stat-label{display:flex;align-items:center;gap:6px;font-size:10px;color:#95a093}.stat-label i{width:5px;height:5px;border-radius:50%}.red-dot{background:#ce887e}.amber-dot{background:#c5b172}.delivery-stats strong{display:block;font-size:32px;font-weight:550;margin-top:3px;letter-spacing:-1px}.delivery-stats small{font-size:10px;font-weight:400;color:#abb2a8;margin-left:6px}.red{color:#bf7467}.designer-title{display:flex;justify-content:space-between;font-size:10px;color:#8d9d8e;margin-bottom:10px}.designer-title small{font-size:9px;color:#b1bab0}.designer-bars{display:grid;gap:9px}.designer-bars>div{display:flex;gap:15px;align-items:center;font-size:10px;color:#7e9180}.designer-bars span{width:42px;flex-shrink:0}.designer-bars b{font-size:10px;font-weight:450;width:12px;text-align:right}.designer-bars meter{height:7px;width:100%;border:0;border-radius:4px;background:#f0f4ed}.designer-bars meter::-webkit-meter-bar{background:#f0f4ed;border:0;height:7px}.designer-bars meter::-webkit-meter-optimum-value{background:#a2b99a;border-radius:4px}.designer-bars meter::-moz-meter-bar{background:#a2b99a}.delivery-link{display:flex;align-items:center;justify-content:space-between;border-radius:8px;background:#f2f6ef;padding:11px 14px;font-size:11px;color:#577349;margin-top:22px}.delivery-link:hover{background:#e8f0e2}.delivery-link svg{width:16px;height:16px}.delivery-note{display:block;font-size:9px;color:#9fab9e;margin-top:10px;line-height:1.8}.missing-source{font-size:11px;color:#9ca89c;background:#f7f9f5;padding:15px;border-radius:8px}
.attendance-panel{grid-column:1/-1}.attendance-panel h2{display:flex;align-items:center;gap:10px;font-size:17px}.count-badge{font-size:11px;font-weight:500;color:#ba8c66;background:#fbf3e8;border-radius:7px;padding:1px 7px}.restricted{font-size:10px;color:#849887;display:flex;align-items:center;gap:6px}.restricted svg{width:14px;height:14px}.attendance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:14px 0}.attendance-row{display:flex;align-items:center;gap:9px;padding:8px 0;flex-wrap:wrap}.attendance-row strong{font-size:12px;font-weight:500}.attendance-row>.muted{font-size:10px}.attendance-time{font-size:10px;color:#a4aea4}.attendance-row .pill{margin-left:auto}
.leave-panel{padding-bottom:0}.text-button{display:inline-flex;align-items:center;gap:6px;background:none;color:#8b9a8c;font-size:11px}.text-button svg{width:14px;height:14px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:23px 0 19px}.filters{display:flex;align-items:center;gap:10px}.filters select{font-size:11px;color:#8a998b;min-height:34px;border:1px solid #e8ede5;padding:0 24px 0 10px;background:#fff;border-radius:7px;max-width:160px}.search-field{display:flex;align-items:center;gap:7px;border:1px solid #e8ede5;border-radius:7px;padding:0 10px;min-height:34px;color:#a2ada1;width:160px}.search-field svg{width:14px;height:14px}.search-field input{border:0;outline:none;width:100%;background:transparent;font-size:11px;color:#566e5b;padding:0;min-width:0}.search-field:focus-within{outline:2px solid #9bb598;outline-offset:1px}.search-field input::placeholder{color:#a2ada1}.table-scroll{overflow-x:auto;margin:0 -5px}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left;white-space:nowrap}thead{background:#f7f9f5;color:#91a08f;font-size:10px}th{padding:12px 14px;font-weight:450}th:first-child{border-radius:7px 0 0 7px}th:last-child{border-radius:0 7px 7px 0;width:45px}td{padding:13px 14px;border-bottom:1px solid #f0f3ed}tbody tr:last-child td{border:0}tbody tr:hover{background:#fcfdfa}.person-link{background:transparent;display:flex;align-items:center;gap:12px;padding:0}.person-link strong{font-size:12px;font-weight:500}.person-link:hover strong{color:#579161}.muted{color:#99a695;font-size:11px}.number-cell{font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}.unit{color:#a2afa0;font-size:10px;font-weight:400;margin-left:6px}.number-warn{color:#b88e59}.pending{font-size:10px;color:#b2986f;border-bottom:1px dashed #d8c9aa;font-weight:400}.table-count{display:flex;justify-content:space-between;color:#a4afa0;font-size:10px;padding:12px 9px 18px}.table-count>span{font-size:9px}.leave-notes{background:#fafbf8;margin:0 -25px;padding:17px 25px;border-top:1px solid #edf0e9;border-radius:0 0 var(--radius) var(--radius);color:#95a18c;font-size:10px}.leave-notes>span{display:flex;align-items:center;gap:6px}.leave-notes svg{width:14px;height:14px}.leave-notes small{display:block;font-size:9px;margin-left:20px;margin-top:5px;color:#a6af9e}
.source-details{margin-top:21px;color:#9ca898;font-size:10px}.source-details summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;padding:4px 0}.source-details summary svg{width:14px;height:14px}.source-details summary>span{margin-left:auto;font-size:10px}.source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:13px}.source-grid>div{display:grid;grid-template-columns:5px 1fr auto;align-items:center;gap:8px;background:#fff;padding:12px;border-radius:8px;border:1px solid var(--line)}.source-grid strong{font-weight:500;font-size:11px;color:#849580}.source-grid small{font-size:9px;grid-column:2/-1;line-height:1.8;color:#a0aa96}.source-status{width:5px;height:5px;border-radius:50%;background:#c9b686}.source-status.ok{background:#8fb089}.source-status.stale{background:#cf9975}.source-grid time{font-size:9px}.page-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e6ebe1;margin-top:24px;padding-top:18px;font-size:9px;color:#a3afa0;letter-spacing:.5px}.page-footer b{font-weight:500;margin-left:4px}
.empty-state{text-align:center;padding:44px 10px;color:#9eae9c}.empty-state svg{width:28px;height:28px;color:#b9c7b2;margin-bottom:10px}.empty-state p{font-size:12px}.empty-small{padding:25px;text-align:center;color:#9caa97;font-size:12px}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--green);color:#d9edc2;font-size:12px;border-radius:9px;padding:12px 20px}.primary:hover{background:#205248}.primary svg{width:16px;height:16px}.boot{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:30px}.boot h1{font-size:26px}.boot p{color:#81927e;max-width:430px;line-height:1.9}.boot .brand-symbol{width:56px;height:56px;font-size:37px}.boot .eyebrow{margin:0}.muted-link{display:flex;gap:8px;align-items:center;color:#8e9e87;font-size:12px}.muted-link svg{width:14px;height:14px}
dialog{border:1px solid var(--line);border-radius:22px;max-width:610px;width:calc(100% - 32px);padding:30px;color:var(--ink);box-shadow:0 25px 80px #15281825;max-height:85dvh}dialog::backdrop{background:#13261d55;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.dialog-head h2{font-size:22px}.dialog-footer{display:flex;justify-content:flex-end;margin-top:25px}.rules-copy h3{font-size:14px;margin:24px 0 8px}.rules-copy h3:first-child{margin-top:0}.rules-copy p{font-size:12px;color:#83937d;line-height:1.9;margin-top:7px}.detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.detail-metrics>div{background:#f7f9f4;border:1px solid #edf1e7;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:12px}.detail-metrics>div>span{font-size:10px;color:#8e9e82}.detail-metrics strong{font-size:23px;font-weight:500}.detail-metrics small{font-size:9px;line-height:1.7;color:#9faa94}.dialog-note{font-size:10px;color:#9faa94;margin-top:20px;line-height:1.9}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.spinning svg{animation:spin 1.3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){main{padding:32px 52px}.topbar{padding:0 52px}.sidebar{width:240px;padding-left:25px;padding-right:25px}.workspace{margin-left:240px}.metric{padding:25px 28px}.panel{padding:28px}.leave-panel{padding-bottom:0}.leave-notes{margin:0 -28px;padding:17px 28px}}
@media(max-width:1200px){.sidebar{width:192px;padding:28px 17px 18px}.workspace{margin-left:192px}.topbar{padding:0 25px}main{padding:22px 25px}.main-grid{grid-template-columns:1.2fr 1fr;gap:18px}.panel{padding:20px}.leave-panel{padding-bottom:0}.leave-notes{margin:0 -20px;padding:16px 20px}.date-control{gap:0}.date-control input{width:108px}.date-control .icon-button{width:24px}.panel-heading{gap:8px}.activity-panel .panel-heading{flex-wrap:wrap}.metrics{gap:14px}.metric{padding:20px}.metric-number{font-size:43px}.sidebar-note{padding-left:10px}.source-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.sidebar{width:74px;padding:28px 13px 15px}.brand{padding:0}.brand>span:last-child,.workspace-tag,.sidebar-note,.sidebar-footer{display:none}nav{margin-top:36px;gap:13px}nav a,nav button{font-size:0;padding:13px;gap:0;width:47px}nav svg{width:20px;height:20px}.nav-dot{display:none}.workspace{margin-left:74px}.topbar{height:70px}.metric{padding:18px}.main-grid{grid-template-columns:1.2fr 1fr}.absence time{font-size:8px}.person-row{gap:8px}.avatar{width:34px;height:34px;font-size:10px}.avatar-small{width:28px;height:28px}.page-heading h1{font-size:25px}.metric-bottom{font-size:9px}.subtle-badge{display:none}.table-toolbar{flex-wrap:wrap}.secure-label{display:none}.attendance-list{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:65px;padding:0 20px}.breadcrumb{font-size:11px;gap:9px}.breadcrumb>span:first-child{font-size:17px;font-weight:650;letter-spacing:1px;color:var(--green)}main{padding:16px}.demo-banner{padding:10px 12px;align-items:flex-start;flex-direction:column;gap:8px}.demo-banner>span{font-size:10px;gap:5px}.demo-banner>span>span{font-size:9px}.demo-roles{align-self:flex-end;margin-top:-2px}.page-heading{margin:24px 0 20px;align-items:flex-end;gap:8px}.page-heading h1{font-size:22px;letter-spacing:-1px}.eyebrow{font-size:8px;letter-spacing:1px}.page-heading p{font-size:10px;margin-top:7px}.divider{padding:0 6px}.secondary{font-size:0;padding:9px;gap:0;margin-bottom:3px}.secondary svg{width:16px;height:16px}.metrics{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:17px}.metric{padding:16px;border-radius:14px}.metric-featured{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px}.metric-featured .metric-top{grid-column:1;justify-content:flex-start;gap:12px;flex-direction:row-reverse}.metric-featured .metric-number{grid-column:2;grid-row:1/3;margin:0;font-size:47px}.metric-featured .metric-bottom{grid-column:1}.metric-featured .metric-bottom svg{display:none}.metric-featured .metric-icon{width:29px;height:29px}.metric-featured .orbit{top:-83px;right:20px}.metric-featured .orbit-two{top:-60px;right:44px}.metric-top{font-size:11px}.metric-number{font-size:35px;margin:5px 0}.metric-number small{font-size:9px;margin-left:7px}.metric-icon{width:27px;height:27px;border-radius:8px}.metric-icon svg{width:16px;height:16px}.metric-bottom{font-size:8px}.main-grid{grid-template-columns:1fr;gap:16px;margin-bottom:16px}.panel{padding:19px;border-radius:14px}h2{font-size:18px}.section-index{font-size:8px}.activity-panel .panel-heading{flex-wrap:nowrap}.date-control input{width:110px;font-size:10px}.date-control .icon-button{width:24px}.section-caption{margin-top:21px}.person-row{padding:17px 0;gap:11px}.person-info strong{font-size:12px}.absence time{font-size:9px}.panel-footnote{font-size:9px;line-height:1.8}.delivery-panel .panel-description{font-size:10px}.delivery-stats{margin-top:20px}.delivery-stats strong{font-size:32px}.designer-bars{grid-template-columns:1fr 1fr;gap:12px 20px}.designer-bars>div{gap:7px}.designer-bars span{width:35px}.delivery-link{margin-top:21px}.delivery-note{font-size:8px}.attendance-panel{grid-column:auto}.attendance-row{gap:7px}.attendance-time{font-size:9px}.attendance-panel .panel-heading h2{font-size:16px}.restricted{font-size:9px}.leave-panel{padding-bottom:0}.leave-panel .panel-description{font-size:10px}.text-button{font-size:9px;gap:3px}.table-toolbar{margin:20px 0 14px;gap:14px}.leave-tabs{width:100%}.leave-tabs button{width:50%;font-size:11px}.filters{width:100%;gap:8px}.search-field{flex:1;min-width:0}.filters select{max-width:132px;font-size:10px}.search-field input{font-size:10px}.table-scroll{margin:0 -6px}table{min-width:500px}thead{font-size:9px}th{padding:11px 12px}td{padding:12px}.person-link strong{font-size:11px}.person-link{gap:7px}.number-cell{font-size:14px}.unit{font-size:9px}.pending{font-size:9px}.table-count{font-size:9px;padding-left:0;padding-right:0}.table-count>span{font-size:8px}.leave-notes{margin:0 -19px;padding:15px 19px;font-size:9px;border-radius:0 0 14px 14px}.leave-notes>span{align-items:flex-start}.leave-notes small{font-size:8px;line-height:1.8}.source-grid{grid-template-columns:1fr 1fr;gap:8px}.source-grid>div{padding:9px;gap:5px}.source-grid strong{font-size:9px}.source-grid time{font-size:8px}.source-grid small{font-size:8px}.page-footer{flex-direction:column;align-items:center;text-align:center;gap:6px;font-size:8px;margin-top:20px}.viewer{font-size:11px}.viewer small{font-size:8px}dialog{padding:22px}.detail-metrics{grid-template-columns:repeat(2,1fr)}.dialog-head h2{font-size:19px}.boot h1{font-size:22px}.boot p{font-size:12px}}
.table-scroll{position:relative}
.delivery-records{margin:24px 0}.delivery-sync-note{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.8}.delivery-toolbar{flex-wrap:wrap}.delivery-toolbar .filters{flex-wrap:wrap}.delivery-table{min-width:800px;width:100%}.delivery-table td{max-width:270px;white-space:normal;overflow-wrap:anywhere;vertical-align:top}.delivery-table small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.project-name{background:transparent;padding:0;text-align:left;font-weight:600;color:var(--accent);line-height:1.6}.project-name:hover{text-decoration:underline}.delivery-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;font-size:12px;color:var(--muted)}.delivery-pagination>div{display:flex;gap:8px}.delivery-pagination .secondary{padding:8px 12px}.project-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px 22px;margin:16px 0}.project-fields dt{font-size:11px;color:var(--muted)}.project-fields dd{font-size:13px;margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.project-detail h3{margin:25px 0 12px;font-size:15px}.delivery-detail-item{border-top:1px solid var(--line);padding:14px 0}.delivery-detail-item strong{font-size:14px}.delivery-records .panel-heading{gap:15px;flex-wrap:wrap}
@media(max-width:700px){.delivery-records{margin:16px 0}.delivery-records .segmented{width:100%}.delivery-records .segmented button{flex:1;font-size:11px;padding:9px 5px}.delivery-toolbar .filters{gap:9px}.delivery-sync-note{font-size:10px}.delivery-records .secondary{font-size:11px}.delivery-table{min-width:680px}.delivery-pagination{font-size:10px}.project-fields{gap:12px}.project-fields dd{font-size:12px}.delivery-records .panel-description{font-size:11px}}
@media(max-width:700px){.table-count>span::before{content:"左右滑动查看完整列 · "}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Project delivery: editable forms, audit trail and mobile-first controls. */
.delivery-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.delivery-actions .primary{padding:10px 16px}.delivery-records .delivery-tabs{max-width:100%;overflow-x:auto;flex-shrink:1}.delivery-tabs button span{font-size:10px;color:#90a295;margin-left:4px}.delivery-tabs .selected span{color:#49755d}.delivery-view{flex-shrink:0}.delivery-view button{padding:6px 10px}.delivery-records .filters{flex:1;justify-content:flex-end;min-width:0}.delivery-records .search-field{min-width:160px;max-width:280px}.delivery-records .filters select{max-width:180px}.delivery-table th:last-child{width:auto}.delivery-table time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.delivery-inline-action{display:block;background:transparent;color:var(--accent);font-size:11px;margin-top:8px;padding:0;text-decoration:underline;text-underline-offset:3px}.delivery-warning{color:var(--red)!important}.delivery-pill-warn{color:#a25d41;background:#fff0e5}.delivery-result-count{font-size:12px;color:var(--muted);margin:8px 0 16px}.delivery-board{display:grid;grid-auto-flow:column;grid-auto-columns:245px;gap:14px;overflow-x:auto;padding:2px 1px 15px;align-items:start}.delivery-board-column{border:1px solid var(--line);border-radius:12px;background:#f7f9f7;padding:12px;min-height:145px;max-height:720px;overflow-y:auto}.delivery-board-column h3{font-size:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:#526e60}.delivery-board-column h3 span{background:#e9efe9;color:#75917d;font-size:10px;padding:1px 7px;border-radius:5px}.delivery-project-card{display:block;background:#fff;border:1px solid #e5ece6;border-radius:9px;width:100%;padding:14px;text-align:left;box-shadow:0 2px 4px #304c3004;margin-bottom:10px;transition:border-color .15s,transform .15s}.delivery-project-card:hover{border-color:#a5c3af;transform:translateY(-1px)}.delivery-project-card>strong{font-size:13px;line-height:1.7;display:block;color:#285340}.delivery-project-card>small{font-size:10px;color:#92a18f;display:block;margin-top:5px}.delivery-project-card>div{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:14px 0;color:#768b79;font-size:11px}.delivery-project-card .pill{font-size:9px}.delivery-project-card p{font-size:11px;color:#697f6e;line-height:1.8}.delivery-project-card footer{display:flex;flex-direction:column;gap:3px;color:#91a08d;font-size:9px;border-top:1px solid #f0f3ed;padding-top:10px;margin-top:13px}.delivery-workload{display:flex;gap:10px;overflow-x:auto;padding:0 0 15px;margin-top:0}.workload-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:5px 20px;min-width:145px;flex-shrink:0;background:#f7faf5;border:1px solid #e8eee4;border-radius:10px;padding:12px 15px;text-align:left}.workload-card strong{font-size:12px;font-weight:550}.workload-card>span{font-size:10px;color:#849680}.workload-card>b{grid-column:2;grid-row:1/3;align-self:center;font-size:23px;font-weight:500;color:#507657}.workload-card small{font-size:9px;font-weight:400}.workload-card.selected{border-color:#88ad90;background:#eef5e7}.delivery-dialog{max-width:800px}.delivery-dialog[open]{overflow-y:auto}.delivery-dialog .dialog-footer[hidden]{display:none}.delivery-dialog .secondary{font-size:12px;padding:9px 13px}.delivery-dialog .project-detail h3{border-top:1px solid var(--line);padding-top:22px}.delivery-date-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#f4f8ef;border:1px solid #e8f0e0;border-radius:12px;padding:17px 20px;margin:20px 0}.delivery-date-summary>div{display:flex;flex-direction:column;gap:7px}.delivery-date-summary span{color:#8b9f7f;font-size:10px}.delivery-date-summary strong{font-size:16px;font-weight:550;line-height:1.5;letter-spacing:-.3px}.delivery-date-summary small{font-size:10px;color:#8b9b7f;line-height:1.6}.delivery-item-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.delivery-history{margin-top:22px;border:1px solid var(--line);border-radius:10px;padding:14px}.delivery-history summary{font-size:12px;cursor:pointer;color:#6e866f}.delivery-history .muted{padding-top:15px;line-height:1.8}.delivery-history-empty{color:#8a9b83;font-size:12px;line-height:1.9;padding:12px 0}.delivery-timeline{list-style:none;margin:18px 0;padding:0}.delivery-timeline>li{padding:0 0 24px 22px;border-left:1px solid #dfe9dc;position:relative;margin-left:5px;overflow-wrap:anywhere}.delivery-timeline>li:before{content:"";width:7px;height:7px;position:absolute;left:-4px;top:7px;background:#9dbb91;border:2px solid #fff;box-sizing:content-box;border-radius:50%}.delivery-timeline>li:last-child{padding-bottom:5px;border-left-color:transparent}.delivery-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.delivery-timeline-head strong{font-size:13px;font-weight:600}.delivery-timeline-head time{font-size:10px;color:#8b9c84;font-variant-numeric:tabular-nums}.delivery-timeline>li>p{font-size:11px;color:#8b9a81;line-height:1.8}.delivery-timeline .project-name{font-size:11px;font-weight:500}.delivery-timeline>li>p.delivery-operation-note{background:#f8faf5;border-radius:7px;color:#6c8064;padding:9px 12px;margin:9px 0;white-space:pre-wrap}.delivery-diff{margin-top:10px}.delivery-diff summary{font-size:11px;cursor:pointer;color:#678061}.delivery-diff dl{margin:10px 0 0;border:1px solid #edf1e7;border-radius:8px;overflow:hidden}.delivery-diff dl>div{padding:10px 12px;border-bottom:1px solid #edf1e7;display:grid;grid-template-columns:92px 1fr;gap:12px}.delivery-diff dl>div:last-child{border:0}.delivery-diff dt{font-size:10px;color:#8c9d7f}.delivery-diff dd{margin:0;display:grid;grid-template-columns:1fr 20px 1fr;gap:7px;font-size:11px;color:#58724f;white-space:pre-wrap}.delivery-diff dd>span:first-child{color:#96a28a}.delivery-diff dd>b{font-weight:400;text-align:center;color:#a5b29a}.delivery-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.delivery-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:12px;color:#61775e}.delivery-field>span{font-weight:550}.delivery-field input,.delivery-field select,.delivery-field textarea{width:100%;border:1px solid #dfe8db;border-radius:8px;min-height:42px;background:#fff;color:var(--ink);padding:10px 12px;font:inherit;line-height:1.5;min-width:0}.delivery-field textarea{resize:vertical;font-size:13px}.delivery-field input:focus,.delivery-field select:focus,.delivery-field textarea:focus{outline:2px solid #7ea37b55;border-color:#90ad83;outline-offset:1px}.delivery-field input:disabled,.delivery-field select:disabled{background:#f4f6f1;color:#9aa68e}.delivery-field-wide{grid-column:1/-1}.delivery-form-hint{color:#8d9c80;font-size:11px;line-height:1.9}.delivery-people{margin:0;border:1px solid #e5ecdf;border-radius:9px;padding:10px 14px 14px;display:flex;gap:7px;flex-wrap:wrap}.delivery-people legend{padding:0 6px;color:#708766;font-size:12px}.delivery-people label{display:flex;align-items:center;gap:5px;border:1px solid #e4ebdd;border-radius:6px;padding:6px 9px;font-size:11px;color:#7b8e6c;cursor:pointer}.delivery-people input{accent-color:var(--green);width:14px;height:14px;margin:0}.delivery-people label:has(:checked){background:#edf5e5;color:#43633a;border-color:#bbd1ab}.delivery-check{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:#7f9370;line-height:1.8}.delivery-check input{accent-color:var(--green);margin-top:4px;flex-shrink:0}.delivery-lost-fields{display:grid;grid-template-columns:1fr;gap:18px;padding:15px;border:1px solid #efdfcf;border-radius:10px;background:#fffaf4}.delivery-lost-fields[hidden]{display:none}.delivery-form-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.delivery-form-error{font-size:12px;line-height:1.8;color:#a54c3c;background:#fff0e9;border:1px solid #f5dacf;border-radius:8px;padding:12px 14px;margin-top:20px}.delivery-form-error[hidden]{display:none}
@media(max-width:900px){.delivery-records .filters{width:100%;justify-content:flex-start}.delivery-tabs button{padding:8px 11px}.delivery-records .search-field{max-width:none;flex:1}.delivery-dialog{max-width:740px}}
@media(max-width:700px){.delivery-records .panel-heading{align-items:flex-start}.delivery-actions{width:100%;gap:7px}.delivery-actions .primary{font-size:11px;padding:10px 14px}.delivery-actions .secondary{font-size:11px;padding:9px 11px;gap:5px;margin:0}.delivery-records .delivery-tabs{width:100%;display:flex}.delivery-records .delivery-tabs button{flex:none;padding:9px 10px;font-size:11px}.delivery-tabs button span{font-size:9px}.delivery-records .filters{gap:9px;flex-wrap:wrap}.delivery-records .filters select{font-size:11px;max-width:calc(50% - 6px)}.delivery-records .search-field{min-width:150px;flex-basis:55%}.delivery-records .search-field input{font-size:12px}.delivery-records .delivery-view{width:auto;margin-left:auto}.delivery-records .delivery-view button{flex:none;padding:7px 10px;font-size:11px}.delivery-table{min-width:840px}.delivery-table time{font-size:10px}.delivery-board{grid-auto-columns:220px;gap:10px}.delivery-board-column{max-height:620px}.delivery-workload{gap:8px;padding-bottom:13px}.workload-card{padding:11px 12px;min-width:137px}.delivery-dialog{padding:20px;width:calc(100% - 20px);max-height:92dvh;border-radius:16px}.delivery-dialog .dialog-head{padding-bottom:16px;margin-bottom:18px;align-items:flex-start}.delivery-dialog .dialog-head h2{font-size:18px;line-height:1.7;overflow-wrap:anywhere}.delivery-dialog .icon-button{flex-shrink:0}.delivery-dialog .secondary{font-size:11px}.delivery-date-summary{padding:14px;gap:12px;grid-template-columns:1fr}.delivery-date-summary>div+div{border-top:1px solid #e5eddb;padding-top:12px}.delivery-date-summary>div{gap:5px}.delivery-date-summary strong{font-size:15px}.delivery-form-grid{grid-template-columns:1fr;gap:17px}.delivery-field input,.delivery-field select,.delivery-field textarea{font-size:16px;min-height:44px;padding:10px}.delivery-field-wide{grid-column:auto}.delivery-people{padding:10px}.delivery-people label{font-size:12px;padding:7px 10px}.delivery-people input{width:15px;height:15px}.delivery-form-footer{position:sticky;bottom:-20px;padding:16px 0 20px;background:#fff;z-index:2;gap:10px}.delivery-form-footer button{font-size:12px;min-height:43px;padding:10px 18px}.delivery-form-hint{font-size:11px}.delivery-timeline-head{flex-direction:column;align-items:flex-start;gap:4px}.delivery-timeline>li{padding-left:17px}.delivery-diff dl>div{grid-template-columns:1fr;gap:5px;padding:10px}.delivery-diff dd{grid-template-columns:1fr 16px 1fr;font-size:10px}.delivery-history{padding:12px}.delivery-item-heading .pill{flex-shrink:0}}
