:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Microsoft YaHei",sans-serif;color:#203a32;background:#f5f7f2;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:#176846;text-decoration:none}a:hover{text-decoration:underline}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:11px;padding:11px 18px;background:#176846;color:#fff;font:inherit;font-weight:650;line-height:1.25;cursor:pointer;text-align:center;margin:2px 0}button:hover,.button:hover{background:#125339;text-decoration:none}button.secondary,.button-light{background:#e7f1e9;color:#155539}button.secondary:hover,.button-light:hover{background:#d8e9db}.button-full{width:100%}.text-button{background:transparent;color:#176846;padding:5px 0}.text-button:hover{background:transparent;text-decoration:underline}.app-header{background:#174b3c;color:#fff}.header-inner{max-width:1180px;margin:auto;min-height:72px;padding:0 24px;display:flex;align-items:center;gap:38px}.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:21px;white-space:nowrap}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e1efbd;color:#174b3c;font-size:22px}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.12em;opacity:.76}.desktop-nav{display:flex;align-items:center;gap:6px;height:72px}.desktop-nav a{color:#c7ded0;padding:10px 16px;border-radius:9px;font-weight:600}.desktop-nav a.active,.desktop-nav a:hover{background:#ffffff21;color:#fff;text-decoration:none}.header-person{margin-left:auto;color:#dcece0;font-size:14px}.mobile-nav{display:none}.app-main{max-width:1180px;margin:0 auto;padding:30px 24px 70px;min-height:calc(100vh - 144px)}footer{text-align:center;color:#83968a;padding:12px 20px 28px;font-size:12px}.page-intro{background:linear-gradient(115deg,#e5f0e8,#f4f7e8 72%);border:1px solid #d8e8dc;border-radius:20px;padding:30px 34px;margin-bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:24px}.page-intro h1{font-size:clamp(26px,3vw,36px);letter-spacing:-.035em;line-height:1.22;margin:5px 0 8px}.page-intro p{margin:0;color:#59756a;line-height:1.6}.eyebrow{font-size:12px!important;font-weight:800!important;letter-spacing:.12em!important;color:#35825c!important;text-transform:uppercase;margin:0 0 10px!important}.eyebrow a{color:inherit}.role-pill,.status-chip,.task-step{display:inline-flex;align-items:center;border-radius:100px;background:#e6f1e8;color:#186346;padding:5px 10px;font-size:12px;font-weight:750;white-space:nowrap}.role-pill{background:#fff;box-shadow:0 1px 7px #1a5b3b12}.dashboard-layout,.workspace-layout,.visit-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:22px;align-items:start}.dashboard-side,.workspace-side,.visit-side{display:grid;gap:20px;min-width:0}.panel{background:#fff;border:1px solid #e1e9e0;border-radius:18px;padding:25px;box-shadow:0 4px 16px #254a3210;min-width:0}.panel h2{font-size:20px;letter-spacing:-.02em;margin:0 0 13px}.panel h3{font-size:16px;margin:22px 0 10px}.panel p{line-height:1.62}.focus-panel{padding:32px;min-height:280px}.focus-panel h2{font-size:clamp(23px,2.6vw,30px);margin:0 0 10px}.focus-panel>.muted{margin-top:0}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.section-title h2{margin:0}.section-title>span{font-size:13px;color:#769082;white-space:nowrap}.project-list{display:grid;gap:13px}.project-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e0e9df;border-radius:17px;padding:20px;box-shadow:0 4px 13px #20452d0c;color:#1b3d2b;transition:transform .15s,border-color .15s}.project-card:hover{transform:translateY(-2px);border-color:#a8cbb1;text-decoration:none}.project-card-icon{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:15px;background:#e5f0da;color:#2a7751;font-size:25px}.project-card-body{display:grid;gap:5px;min-width:0}.project-card-body strong{font-size:18px}.project-card-body small,.compact-link small,.task-card small{font-size:13px;color:#789083}.project-card-arrow{margin-left:auto;color:#428663;font-size:24px}.notice-item{border-top:1px solid #e7eee6;padding:14px 0}.notice-item strong{display:block}.notice-item p{font-size:13px;color:#667f70;margin:5px 0}.compact-link{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#244a36;padding:13px 0;border-top:1px solid #edf1eb}.compact-link:hover{text-decoration:none;color:#176846}.compact-link span:first-child{display:grid;gap:4px;min-width:0}.compact-link small{display:block}.avatar-list{display:grid;gap:13px}.avatar-list>div{display:flex;align-items:center;gap:9px}.avatar-list small{margin-left:auto;color:#859789}.avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#dcebdc;color:#216543;font-weight:750}.stage-highlight{display:flex;align-items:center;gap:12px;border:1px solid #d4e6d8;background:#f3f8f1;border-radius:13px;padding:15px;margin:22px 0}.stage-highlight>div{display:grid;gap:3px}.stage-highlight small{color:#6f8474}.stage-dot{height:12px;width:12px;flex:none;background:#51a968;border-radius:50%;box-shadow:0 0 0 5px #cce9d4}.stepper{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0;margin:0 0 22px}.stepper li{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 8px;background:#e9eee9;color:#8a9a8d;border-radius:11px;font-weight:700;font-size:13px;white-space:nowrap}.stepper li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#d3ddd3;color:#728577;font-size:12px}.stepper li.done{background:#e5f2e7;color:#318356}.stepper li.done span{background:#52a66b;color:#fff}.stepper li.current{background:#176846;color:#fff}.stepper li.current span{background:#fff;color:#176846}.option-list,.dish-list{display:grid;gap:12px;margin:19px 0}.option-card,.dish-card{padding:17px;border:1px solid #e1e9df;border-radius:14px;background:#fff}.option-heading,.dish-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.option-heading strong,.dish-heading strong{font-size:17px}.option-heading>span{font-size:12px;background:#edf4e7;padding:4px 8px;border-radius:20px;color:#4c744e}.option-card>.muted{font-size:13px;margin:8px 0}.vote-actions{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.vote-actions button{flex:1;min-width:80px;margin:0}.vote-actions button.selected{background:#176846;color:#fff}.dish-heading>div{display:grid;gap:4px}.dish-heading small{color:#ae7840}.dish-quicklinks{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0;font-size:13px;font-weight:700}.assignment-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ebefe9;padding:11px 0}.assignment-line>div{display:grid;gap:2px}.assignment-line small{color:#799084}.assignment-line button{margin:0}.member-status-list>div,.info-pair{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #ebefe9;padding:11px 0}.member-status-list span,.info-pair span{color:#768c7c}.info-pair strong{font-size:14px;text-align:right}.event-date{display:flex;align-items:center;gap:17px;background:#f2f7ef;padding:18px;border-radius:14px;margin:20px 0}.event-date>strong{font-size:26px;color:#176846}.event-date>span{color:#567061;line-height:1.6}.task-card{display:grid;gap:5px;border-top:1px solid #e5ece3;padding:17px 0;color:#203a32}.task-card:first-of-type{border-top:0}.task-card:hover{text-decoration:none}.task-step{justify-self:start}.task-card strong{font-size:17px}.task-arrow{color:#176846;font-weight:700;font-size:13px}.asset-row{display:grid;gap:4px;border-top:1px solid #e7eee6;padding:10px 0;overflow-wrap:anywhere}.asset-row small{color:#7b8e80}.empty-state{padding:24px;border:1px dashed #bcd2c1;border-radius:13px;background:#f8fbf6;color:#46634f}.empty-state p{margin-bottom:0}.top-space{margin-top:25px}.danger-detail{background:#fbfcfa}details{margin:13px 0}details summary{cursor:pointer;color:#276d48;font-weight:650;list-style-position:inside}details[open]>summary{margin-bottom:12px}.action-details{border:1px dashed #bbd6c2;background:#f8fbf7;padding:13px 16px;border-radius:12px;margin:21px 0}.form-row,.row{display:flex;gap:12px;align-items:center}.form-row>*{flex:1;min-width:0}.check-row{display:flex;gap:20px;flex-wrap:wrap}.check-row label{display:flex;gap:6px;align-items:center;margin:3px 0}.check-row input{width:auto;margin:0}.panel form{margin:13px 0}label{display:block;margin:10px 0;color:#476653;font-size:13px;font-weight:700}input,select,textarea{display:block;width:100%;max-width:100%;min-width:0;padding:11px 12px;margin-top:5px;border:1px solid #cbdacb;background:#fff;color:#203a32;border-radius:10px;font:inherit;font-weight:400}input:focus,select:focus,textarea:focus{outline:2px solid #8ac5a0;outline-offset:1px}input[type=checkbox]{display:inline;width:auto}label.inline{display:inline-flex;align-items:center;gap:6px;margin-right:15px;font-weight:400}label.inline input{margin:0}.muted{color:#748a7b;font-size:14px}.notice{background:#e6f4e9;color:#245d39;border:1px solid #cde8d2;padding:12px 16px;border-radius:10px;margin:0 0 14px}.heading{margin:0 0 22px}.heading h1{font-size:30px;margin:0 0 7px}.heading p{color:#748a7b;margin:4px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:20px;margin-bottom:20px}.item{display:block;border-top:1px solid #e9eee8;padding:12px 0}.item strong,.item span{display:block}.item span{color:#748a7b;font-size:14px}.row{flex-wrap:wrap}.row>*{flex:1}.row button{flex:0 0 auto}.narrow{max-width:480px;margin:auto}.editor{width:100%}.prose{line-height:1.75;overflow-wrap:anywhere}.thumb{display:block;max-width:180px;max-height:120px;object-fit:cover;border-radius:8px;margin:8px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:820px){.header-inner{gap:18px}.desktop-nav{gap:0}.desktop-nav a{padding:10px}.dashboard-layout,.workspace-layout,.visit-layout{grid-template-columns:1fr}.dashboard-side,.workspace-side,.visit-side{grid-template-columns:repeat(2,minmax(0,1fr))}.page-intro{padding:25px}}
@media(max-width:600px){.app-header .header-inner{min-height:60px;padding:0 16px}.brand{font-size:18px}.brand-mark{width:31px;height:31px}.desktop-nav,.header-person{display:none}.app-main{padding:16px 14px 100px;min-height:calc(100vh - 120px)}footer{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:30;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dbe6da;box-shadow:0 -4px 18px #1f4a3217;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.mobile-nav a{display:grid;justify-items:center;gap:2px;padding:5px 0;color:#819487;font-size:11px;font-weight:700}.mobile-nav a span{font-size:20px;line-height:1.2}.mobile-nav a.active{color:#176846}.mobile-nav a:hover{text-decoration:none}.page-intro{padding:21px;border-radius:15px;margin-bottom:16px;align-items:start}.page-intro h1{font-size:27px}.page-intro .button-light{display:none}.role-pill{font-size:11px;padding:5px 7px}.dashboard-side,.workspace-side,.visit-side{grid-template-columns:1fr;gap:14px}.dashboard-layout,.workspace-layout,.visit-layout{gap:14px}.panel,.focus-panel{padding:19px;border-radius:15px}.focus-panel{min-height:0}.stepper{gap:4px;margin-bottom:14px}.stepper li{display:grid;justify-items:center;gap:2px;padding:7px 2px;font-size:10px;border-radius:8px}.stepper li span{width:18px;height:18px;font-size:10px}.form-row{display:block}.vote-actions button{min-width:72px;padding:10px 8px}.project-card{padding:15px}.project-card-icon{width:40px;height:40px}.project-card-body strong{font-size:16px}.option-card,.dish-card{padding:14px}.event-date>strong{font-size:21px}.grid{grid-template-columns:1fr}}
