:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#263530;background:#f6f7f4;font-synthesis:none}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}.shell{min-height:100vh;display:flex}.sidebar{width:238px;min-width:238px;background:#19332f;color:#fff;display:flex;flex-direction:column;padding:30px 20px}.brand{display:flex;gap:11px;align-items:center;margin-bottom:68px;padding-left:3px}.brand-mark{height:38px;width:38px;border:1px solid #bca971;display:grid;place-items:center;color:#e6d3a0;font-family:serif;font-size:23px}.brand strong{font-size:15px;letter-spacing:.6px;display:block;font-weight:600}.brand small{display:block;font-size:9px;color:#b6c4bd;letter-spacing:1.55px;margin-top:4px}.sidebar-label{font-size:11px;letter-spacing:1.5px;color:#87a299;margin:0 10px 15px}.nav-current{background:#31514a;padding:13px 14px;border-radius:9px;font-size:13px;display:flex;align-items:center;gap:12px;font-weight:600}.nav-icon{font-size:20px;font-weight:300;line-height:1}.nav-dot{height:6px;width:6px;border-radius:50%;background:#dabf7d;margin-left:auto}.side-bottom{margin-top:auto}.privacy-mark{font-size:12px;color:#dcceaa}.side-rule{height:1px;background:#36544d;margin:22px 0}.small-print{font-size:11px;line-height:1.8;color:#9fb3aa}.main{min-width:0;flex:1}.topbar{height:70px;border-bottom:1px solid #e8ebe6;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%}.breadcrumb{font-size:12px;color:#5b6b65}.breadcrumb span{color:#b2bdb6;margin:0 12px}.top-right{display:flex;align-items:center;gap:14px}.local-pill{font-size:11px;color:#547366;background:#f0f6f1;border:1px solid #e4ede5;border-radius:20px;padding:7px 12px;white-space:nowrap}.local-pill i{display:inline-block;width:6px;height:6px;background:#6cac82;border-radius:50%;vertical-align:middle;margin-right:5px}.icon-button{width:32px;height:32px;border:1px solid #dde5de;border-radius:8px;background:#fff;color:#4a5e54;font-size:18px}.page{max-width:1530px;margin:auto;padding:43px 5.5% 80px}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:36px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#b18e52}.hero h1{font-size:31px;line-height:1.3;letter-spacing:-.7px;margin:13px 0 9px;color:#203b33;font-weight:650}.hero p{font-size:13px;line-height:1.7;color:#7c8a81;margin:0}.primary{background:#20473d;border:1px solid #20473d;color:#fff;font-size:13px;font-weight:600;border-radius:8px;padding:12px 19px;white-space:nowrap;box-shadow:0 4px 10px #20473d18}.primary:hover{background:#16372f}.primary span{font-size:18px;vertical-align:-1px;margin-right:4px;font-weight:400}.secondary{background:#fff;border:1px solid #dae2d9;color:#39544a;border-radius:7px;padding:10px 13px;font-size:12px;font-weight:600}.secondary:hover{border-color:#a1b9a7;background:#f9fbf9}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:42px}.metric{background:#fff;border:1px solid #e9ece6;border-radius:12px;padding:22px 24px;min-height:137px;box-shadow:0 6px 19px #21392a05}.metric>span{display:block;color:#78877e;font-size:12px;margin-bottom:13px}.metric strong{font-size:29px;color:#203c34;line-height:1;font-weight:650;letter-spacing:-.9px}.metric small{display:block;color:#a1aba3;font-size:10px;margin-top:9px}.metric.alert strong{color:#ac6854}.list-section{background:#fff;border:1px solid #e8ede7;border-radius:13px;box-shadow:0 8px 30px #233d2f06;overflow:hidden}.section-top{padding:26px 27px 22px;display:flex;align-items:end;justify-content:space-between;gap:15px}.section-top h2{font-size:19px;font-weight:650;margin:8px 0 0;color:#273d33}.section-top h2 em{font-style:normal;font-size:11px;font-weight:600;margin-left:7px;background:#eef3ed;color:#6f8a78;border-radius:15px;padding:3px 8px;vertical-align:2px}.toolbar-actions{display:flex;gap:8px}.filters{display:flex;gap:9px;padding:0 27px 20px}.filters select,.search{height:37px;border:1px solid #e0e7df;background:#fff;border-radius:7px;color:#60736a;font-size:12px}.filters select{padding:0 27px 0 10px;max-width:126px}.search{display:flex;align-items:center;gap:8px;padding:0 12px;max-width:350px;flex:1}.search span{font-size:20px;color:#9aac9e}.search input{border:0;outline:0;width:100%;min-width:0;color:#2b4036;background:transparent;font-size:12px}.search input::placeholder{color:#a5b0a7}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;min-width:790px}thead{background:#f8faf7}th{text-align:left;color:#889a8d;font-weight:600;white-space:nowrap;font-size:11px;padding:13px 16px;border-top:1px solid #eff1ed;border-bottom:1px solid #eff1ed}th:first-child,td:first-child{padding-left:27px}td{padding:17px 16px;border-bottom:1px solid #f0f2ee;color:#5a6a60;vertical-align:middle}tbody tr:hover{background:#fcfdfb}.case-name{font-weight:650;color:#2a4438;font-size:12px;max-width:260px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.subline{color:#9ba89d;font-size:11px;margin-top:6px}.badge{display:inline-block;background:#eef3ed;color:#56715f;padding:5px 9px;border-radius:5px;white-space:nowrap;font-size:11px}.badge.warn{background:#fff1eb;color:#a45c44}.badge.soon{background:#faf4e7;color:#9c7943}.status-select{border:0;background:transparent;color:#526a5b;outline:0;font-size:11px;max-width:87px}.row-link{border:0;background:none;color:#957f52;font-weight:600;white-space:nowrap;font-size:11px}.row-link:hover{text-decoration:underline}.empty-state{text-align:center;padding:65px 20px 72px;color:#7d8e81}.empty-symbol{width:53px;height:53px;border:1px solid #dbe4d8;border-radius:12px;background:#f6f9f4;margin:0 auto 18px;display:grid;place-items:center;font-size:23px;color:#92a99a}.empty-state strong{display:block;font-size:15px;color:#365144;margin-bottom:8px}.empty-state p{margin:0;font-size:12px;line-height:1.7}.empty-state button{margin-top:19px}.table-footer{display:flex;justify-content:space-between;gap:15px;padding:14px 27px;color:#a1aca2;font-size:10px}.drawer-wrap{position:fixed;inset:0;z-index:5;display:flex;justify-content:flex-end}.backdrop{position:absolute;inset:0;background:#142b25a8}.drawer{position:relative;background:#fff;width:min(600px,100%);height:100%;display:flex;flex-direction:column;box-shadow:-10px 0 30px #09271a24}.drawer-head{padding:25px 30px 20px;border-bottom:1px solid #edf0eb;display:flex;align-items:center;justify-content:space-between}.drawer-head h2{font-size:21px;color:#233e34;margin:7px 0 0}.close{border:0;background:none;font-size:27px;font-weight:200;color:#718778}.drawer-body{overflow:auto;padding:1px 30px 36px;flex:1}.form-group{border-bottom:1px solid #edf0eb;padding:23px 0 27px}.form-group:last-child{border:0}.group-title{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:650;color:#304c3d;margin-bottom:18px}.group-title>span{color:#bc9b66;font-size:11px}.text-add{margin-left:auto;border:0;background:none;color:#426953;font-size:11px;font-weight:650}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:8px;color:#617268;font-size:11px;font-weight:600}.field.wide{grid-column:span 2}.field b{color:#b26656}.field input,.field select,.field textarea,.repeat-card input,.repeat-card select{width:100%;border:1px solid #dfe7de;background:#fff;border-radius:7px;padding:10px 11px;outline:none;color:#293d31;font-size:12px}.field input:focus,.field select:focus,.field textarea:focus,.repeat-card input:focus{border-color:#94b09a;box-shadow:0 0 0 3px #8aa99120}.field textarea{resize:vertical;line-height:1.6}.repeat-list{display:flex;flex-direction:column;gap:9px}.repeat-card{border:1px solid #e8ede6;background:#fbfcfa;border-radius:8px;padding:11px;display:flex;align-items:center;gap:8px}.repeat-card input[type=checkbox]{width:16px;height:16px;accent-color:#315d49;flex:0 0 auto}.repeat-card .flex-1{flex:1;min-width:0}.repeat-card .small{width:125px}.repeat-card .role{width:116px}.remove{border:0;background:none;color:#a2aca2;font-size:19px;line-height:1;padding:4px 1px}.remove:hover{color:#ab5c4b}.repeat-hint{color:#a1aca2;font-size:11px;padding:5px 0}.upload-box{border:1px dashed #cadbcd;border-radius:9px;padding:13px;display:flex;align-items:center;gap:12px;background:#fbfdfa;margin-bottom:11px}.upload-box span{font-size:10px;color:#91a094}.material-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#3b5447}.material-icon{color:#8ca48e;font-size:19px}.material-size{font-size:10px;color:#a0aaa0;white-space:nowrap}.material-download{font-size:11px;border:0;background:none;color:#43735b}.drawer-footer{border-top:1px solid #edf0eb;padding:16px 30px;display:flex;gap:9px;align-items:center;background:#fff}.footer-spacer{flex:1}.danger{color:#a96559;background:none;border:0;font-size:11px;padding:8px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(15px);border-radius:9px;background:#24473a;color:#fff;padding:11px 18px;font-size:12px;box-shadow:0 9px 25px #112e1e33;z-index:8;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast.error{background:#9e574c}@media(max-width:900px){.sidebar{width:185px;min-width:185px}.page{padding:32px 4% 60px}.topbar{padding:0 4%}.metrics{gap:9px}.metric{padding:19px 16px}}@media(max-width:700px){.shell{display:block}.sidebar{width:100%;min-width:0;height:64px;padding:12px 18px}.brand{margin:0}.brand-mark{height:34px;width:34px}.sidebar-label,.nav-current,.side-bottom{display:none}.topbar{height:52px;padding:0 18px}.local-pill{font-size:10px;padding:5px 8px}.page{padding:27px 16px 60px}.hero{align-items:flex-start;flex-direction:column;gap:19px;margin-bottom:26px}.hero h1{font-size:26px}.hero p{font-size:12px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:28px}.metric{min-height:115px}.section-top{padding:21px 16px;align-items:flex-start;flex-wrap:wrap}.toolbar-actions{margin-left:auto}.filters{padding:0 16px 17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.search{grid-column:span 3;max-width:none;width:100%}.filters select{width:100%;max-width:none;padding:0 4px}.table-footer{padding:13px 16px}.table-footer span:last-child{display:none}.drawer-head,.drawer-body,.drawer-footer{padding-left:18px;padding-right:18px}.repeat-card{flex-wrap:wrap}.repeat-card .small{width:125px}.repeat-card .role{width:90px}.upload-box{flex-wrap:wrap}}@media(max-width:390px){.grid{grid-template-columns:1fr}.field.wide{grid-column:span 1}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}}

.migration-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff8e9;border:1px solid #ead8ae;border-radius:10px;padding:17px 20px;margin:-10px 0 26px}.migration-banner strong{font-size:13px;color:#6a5131}.migration-banner p{font-size:11px;color:#806d4d;line-height:1.6;margin:5px 0 0}.migration-banner button{white-space:nowrap}@media(max-width:700px){.migration-banner{align-items:flex-start;flex-direction:column}}
body{margin:0}

/* Team sign-in and member management extend the established green and gold palette. */
body{font-size:16px}.primary,.secondary,.field,.field input,.field select,.field textarea,.search input,.filters select,.case-name,.status-select,.row-link,.repeat-card input,.repeat-hint,.material-name,.material-download,.toast{font-size:.875rem}table,th,td,.badge,.breadcrumb,.local-pill,.nav-current{font-size:.875rem}.hero p{font-size:1rem}.brand small,.eyebrow,.small-print,.table-footer,.subline,.material-size,.metric small,.metric>span,.upload-box span{font-size:.75rem}.brand strong{font-size:1rem}.brand small{letter-spacing:1px}.page{padding-top:28px}.hero{margin-bottom:26px}.hero h1{font-size:28px}.metrics{margin-bottom:28px}.auth-screen{min-height:100dvh;background:linear-gradient(145deg,#19332f 0%,#24463e 46%,#315548 100%);display:grid;place-items:center;padding:32px 18px}.auth-card{background:#fff;width:min(100%,470px);border-radius:16px;padding:38px 42px;box-shadow:0 24px 60px #0b211f55;border-top:5px solid #bba268}.auth-brand{display:flex;align-items:center;gap:14px;color:#25483e;margin-bottom:38px;font-size:20px}.auth-brand .brand-mark{background:#19332f;min-width:42px;height:42px}.auth-card h1{color:#19332f;font-size:28px;margin:12px 0}.auth-card p{line-height:1.7;color:#617268;font-size:14px}.auth-card form,.compact form{display:flex;flex-direction:column;gap:18px;margin-top:25px}.auth-card .field,.compact .field{font-size:14px}.auth-card input,.compact input{font-size:16px;min-height:46px}.auth-card .primary{width:100%;min-height:46px;font-size:16px}.auth-card .auth-note{border-top:1px solid #e4ebe5;padding-top:20px;margin-top:26px;font-size:13px}.auth-card .form-error,.form-error{color:#a04739;font-size:14px;line-height:1.6;min-height:0;margin:0}.form-error:empty{display:none}.account-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 5.5% 0;color:#4a6558;font-size:14px}.account-bar>div{display:flex;gap:8px;flex-wrap:wrap}.account-dialog{border:1px solid #dce6dc;border-radius:14px;padding:26px 30px;width:min(760px,calc(100% - 30px));max-height:85dvh;color:#263e32;box-shadow:0 25px 80px #142b254d}.account-dialog::backdrop{background:#142b25a8}.account-dialog.compact{width:min(460px,calc(100% - 30px))}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-heading h2{margin:0;font-size:22px}.dialog-intro{font-size:14px;line-height:1.7;color:#687d6f}.account-dialog h3{font-size:17px;margin:24px 0 16px}.member-row{padding:17px 0;border-bottom:1px solid #e4ebe3;display:flex;align-items:center;justify-content:space-between;gap:16px}.member-row strong{font-size:15px}.member-row small{display:block;font-size:13px;color:#6c8070;margin-top:5px}.member-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.member-controls select{border:1px solid #dce6dc;border-radius:6px;padding:8px;color:#39594b;font-size:14px}.member-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}.member-form input{font-size:16px}.invite-result{background:#f2f6f0;border:1px solid #d5e2d3;border-radius:10px;padding:18px;margin-top:22px;font-size:14px}.invite-result p{line-height:1.6;color:#607567}.invite-result textarea{width:100%;padding:12px;border:1px solid #c9d9c6;border-radius:7px;resize:vertical;font-size:14px;line-height:1.6;background:#fff;color:#284637}.invite-result button{margin-top:10px}:focus-visible{outline:3px solid #b89d61;outline-offset:3px}.drawer button:disabled{display:none}.drawer input:disabled,.drawer select:disabled,.drawer textarea:disabled{opacity:1;color:#304b3d;background:#f7f9f5;-webkit-text-fill-color:#304b3d}.filters select{max-width:145px}.status-select{max-width:105px}.repeat-card .role{width:105px}.drawer{width:min(690px,100%)}@media(max-width:700px){.auth-card{padding:30px 24px}.account-bar{padding:14px 18px 0;align-items:flex-start;flex-direction:column;gap:10px}.account-bar .secondary{font-size:14px}.member-row{align-items:flex-start;flex-direction:column;gap:12px}.account-dialog{padding:22px 20px}.member-form{grid-template-columns:1fr}.topbar{height:auto;min-height:60px;gap:10px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.hero h1{font-size:26px}.filters select{max-width:none}.brand{max-width:none}.sidebar{height:auto;min-height:70px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
