/* Visual system for the unified Project entry. Loaded after legacy styles. */
body.authenticated{background:#f7f6f2;color:#1b2925;font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
.appbar{height:68px;background:#0f4036;border-bottom:1px solid rgba(255,255,255,.14);box-shadow:none}.appbar-inner{max-width:1400px;padding:0 32px}.brand{color:#fff}.brand-mark{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2)}.brand small{color:#bcd4ce}.main-nav{gap:10px}.main-nav a{color:#c5d5d0;padding:0 16px}.main-nav a:hover,.main-nav a.active{color:#fff}.main-nav a.active:after{background:#fff}.icon-btn{color:#eaf4f0;background:transparent;border-color:rgba(255,255,255,.25)}.icon-btn:hover{background:rgba(255,255,255,.1)}.user-copy strong{color:#fff}.user-copy small{color:#bcd4ce}.avatar{background:#d9ebe5;color:#16483d}.text-button{color:#c5d5d0}.text-button:hover{color:#fff}.page-shell{max-width:1400px;padding:46px 32px 80px}.project-home{max-width:1320px;margin:0 auto}.project-home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.project-home-head .eyebrow{color:#176b5d;letter-spacing:.12em}.project-home-head h1{margin:4px 0 0;font-family:Georgia,"Noto Serif SC","Songti SC",serif;font-size:38px;font-weight:600;letter-spacing:.03em}.project-home-head p{margin:9px 0 0;color:#71807a}.project-home-head .secondary-btn{border-radius:4px;box-shadow:none}.project-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d7ded9;background:#fff8ed;border-radius:8px;overflow:hidden}.project-metrics article{min-height:142px;padding:25px 27px;border-right:1px solid #d7ded9}.project-metrics article:last-child{border-right:0}.project-metrics span,.project-metrics small{display:block;color:#69766f;font-size:12px}.project-metrics strong{display:block;margin:12px 0 7px;color:#154c40;font-family:Georgia,"Noto Serif SC",serif;font-size:35px;font-weight:500;line-height:1}.project-metrics .metric-alert strong{color:#bc4b40}.project-ledger{margin-top:28px;overflow:hidden;border:1px solid #d5ddd8;border-radius:8px;background:rgba(255,255,255,.9)}.project-ledger>header{padding:24px 26px 17px}.project-ledger h2{margin:3px 0 0;font-family:Georgia,"Noto Serif SC",serif;font-size:24px;font-weight:600}.project-ledger p{margin:5px 0 0;color:#71807a;font-size:13px}.project-filter{display:flex;gap:8px;padding:0 26px 20px}.project-filter label{position:relative;flex:1;max-width:380px}.project-filter label svg{position:absolute;left:12px;top:11px;width:16px;color:#708078}.project-filter input,.project-filter select{height:40px;padding:0 12px;border:1px solid #d4ddd8;border-radius:4px;background:#fff;color:#24342e}.project-filter input{width:100%;padding-left:37px}.project-filter select{min-width:140px}.project-filter .secondary-btn{min-height:40px;border-radius:4px}.project-table-v3{border-top:1px solid #d5ddd8}.project-table-v3-head,.project-row-v3{grid-template-columns:minmax(270px,1.55fr) minmax(150px,.8fr) 150px minmax(225px,1fr);gap:18px}.project-table-v3-head{min-height:46px;padding:0 26px;background:#f3f5f1;border-color:#d5ddd8;color:#63716b;font-size:11px;letter-spacing:.04em}.project-row-v3{min-height:94px;padding:16px 26px;border-color:#e0e5e1}.project-row-v3:hover{background:#fafbf8}.project-row-v3-title strong{font-size:15px;font-weight:700}.project-row-v3-title small{font-family:ui-monospace,monospace;color:#8a9690}.project-row-v3-states .status{min-height:25px;padding:3px 9px;border-radius:3px}.project-row-v3-owner{display:flex;align-items:center;gap:8px;font-size:13px}.project-row-v3-owner .mini-avatar{background:#17483e}.project-row-v3-action strong{font-size:13px}.project-row-v3-action small{margin-top:5px;color:#71807a}.project-row-v3-action svg{color:#176b5d}.project-source{display:flex;align-items:center;gap:8px;margin:18px 0 0;color:#75817c;font-size:12px}.project-source svg{width:15px;color:#176b5d}
@media(max-width:900px){.appbar-inner{padding:0 20px}.page-shell{padding:32px 20px 84px}.project-metrics{grid-template-columns:repeat(2,1fr)}.project-metrics article:nth-child(2){border-right:0}.project-metrics article:nth-child(-n+2){border-bottom:1px solid #d7ded9}.project-table-v3-head,.project-row-v3{grid-template-columns:minmax(230px,1.4fr) 130px minmax(170px,.9fr)}.project-table-v3-head>span:nth-child(3),.project-row-v3-owner{display:none}.project-filter{flex-wrap:wrap}.project-filter label{flex-basis:100%;max-width:none}}
@media(max-width:640px){body.authenticated{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.appbar{height:60px}.appbar-inner{padding:0 16px}.brand small,.user-copy,.app-actions>.icon-btn{display:none}.main-nav{display:none}.page-shell{padding:26px 14px 104px}.project-home-head{align-items:flex-start;flex-direction:column;margin-bottom:22px}.project-home-head h1{font-size:30px}.project-home-head .secondary-btn{width:100%}.project-metrics{grid-template-columns:1fr 1fr}.project-metrics article{min-height:112px;padding:18px}.project-metrics strong{font-size:29px}.project-metrics small{font-size:11px}.project-ledger{margin-top:18px}.project-ledger>header{padding:20px 18px 14px}.project-ledger h2{font-size:21px}.project-filter{display:grid;grid-template-columns:1fr;gap:10px;padding:0 18px 18px}.project-filter label,.project-filter select,.project-filter .secondary-btn{width:100%;min-width:0;max-width:none}.project-filter .secondary-btn{min-height:44px}.project-table-v3-head{display:none}.project-row-v3{grid-template-columns:1fr;gap:10px;min-height:0;padding:18px}.project-row-v3-title strong{font-size:16px;line-height:1.45;white-space:normal}.project-row-v3-states{grid-column:auto}.project-row-v3-action{grid-column:auto;grid-row:auto;padding-top:10px;border-top:1px solid #e0e5e1;text-align:left}.project-row-v3-action strong{font-size:12px}.project-row-v3-action small{font-size:11px}.project-source{align-items:flex-start;padding:0 3px;line-height:1.6}.mobile-nav{grid-template-columns:repeat(3,1fr);height:68px;padding-bottom:env(safe-area-inset-bottom);background:#0f4036;border-top-color:rgba(255,255,255,.14)}.mobile-nav.has-admin{grid-template-columns:repeat(4,1fr)}.mobile-nav a{color:#bdd0ca}.mobile-nav a.active{color:#fff}.mobile-nav a.active:before{background:#fff}}


/* Unified surface pages: calendar / archives / shared shells */
.surface-page{max-width:1320px;margin:0 auto}
.surface-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.surface-page-head .eyebrow{color:#176b5d;letter-spacing:.12em}
.surface-page-head h1{margin:4px 0 0;font-family:Georgia,"Noto Serif SC","Songti SC",serif;font-size:34px;font-weight:600}
.surface-page-head p{margin:8px 0 0;color:#71807a;max-width:52ch;line-height:1.6}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.calendar-toolbar strong{font-family:Georgia,"Noto Serif SC",serif;font-size:20px}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);gap:16px}
.calendar,.agenda{background:rgba(255,255,255,.92);border:1px solid #d5ddd8;border-radius:8px}
.calendar{padding:18px}
.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-week{gap:0;margin-bottom:8px;color:#6d7a74;font-size:12px}
.calendar-week span{padding:8px 6px;text-align:center}
.calendar-grid{gap:8px}
.day{min-height:108px;padding:10px;border:1px solid #e2e7e3;border-radius:8px;background:#fff}
.day.today{border-color:#176b5d;box-shadow:inset 0 0 0 1px rgba(23,107,93,.18)}
.day.muted-day{opacity:.48}
.day b{display:block;margin-bottom:8px;color:#1b2925}
.day .event{display:block;margin-top:6px;padding:6px 7px;border-radius:5px;background:#eef6f3;color:#16483d;font-size:11px;line-height:1.35;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.day .event.danger{background:#fdeceb;color:#9d3b34}
.day .event.warning{background:#fff4df;color:#8a5a12}
.agenda{padding:18px}
.agenda h2{margin:0 0 12px;font-family:Georgia,"Noto Serif SC",serif;font-size:20px}
.agenda-item{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:12px 0;border-bottom:1px solid #e3e8e4;color:inherit;text-decoration:none}
.agenda-item:last-child{border-bottom:0}
.agenda-item time{color:#176b5d;font-weight:700}
.agenda-item strong,.agenda-item small{display:block}
.agenda-item small{margin-top:3px;color:#71807a}
.archive-metrics{margin-bottom:22px}
.archive-ledger{margin-top:0}
.archive-list{border-top:1px solid #d5ddd8}
.archive-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(0,2fr) auto;gap:18px;align-items:center;padding:18px 26px;border-bottom:1px solid #e0e5e1}
.archive-row:last-child{border-bottom:0}
.archive-row-main strong,.archive-row-main small{display:block}
.archive-row-main small{margin-top:4px;color:#8a9690}
.archive-row-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.archive-row-meta span{color:#71807a;font-size:12px;line-height:1.45}
.archive-row-meta b,.archive-row-meta .status{display:inline-flex;margin-top:5px;color:#1b2925;font-size:13px}
.detail-tabs-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.detail-v3-tabs{display:flex;gap:8px;min-width:max-content;padding:14px 18px 0;border-bottom:1px solid #e2e7e3}
.detail-v3-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:#66736d;font:inherit;white-space:nowrap;cursor:pointer}
.detail-v3-tabs button.active{color:#154c40;border-bottom-color:#154c40;font-weight:700}
.detail-v3-tabs button svg{width:16px;height:16px}
.detail-v3-stage{padding:24px}
.detail-v3 .pane-title{margin-bottom:18px}
.detail-v3 .pane-title h2{margin:0;font-family:Georgia,"Noto Serif SC",serif;font-size:24px}
.detail-v3 .pane-title p{margin:6px 0 0;color:#71807a}
.detail-v3 .tab-pane{display:none}
.detail-v3 .tab-pane.active{display:block}
.workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.workflow-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #dce3de;border-radius:8px;background:#fff}
.workflow-item strong,.workflow-item span{display:block}
.workflow-item span{margin-top:4px;color:#71807a;font-size:12px}
.workflow-item.success{background:#f3faf6}
.workflow-item.warning{background:#fff8ed}
.workflow-item.danger{background:#fdf2f1}
.workflow-item.info{background:#f3f7fb}
.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:#176b5d;text-decoration:none;font-weight:600}
.back-link svg{width:16px}

@media(max-width:900px){
  .calendar-layout{grid-template-columns:1fr}
  .agenda{order:-1}
  .archive-row{grid-template-columns:1fr;gap:12px}
  .archive-row-meta{grid-template-columns:1fr 1fr}
  .workflow-grid{grid-template-columns:1fr}
}

@media(max-width:640px){
  .surface-page-head{margin-bottom:18px}
  .surface-page-head h1{font-size:28px}
  .calendar{padding:12px}
  .calendar-week{display:none}
  .calendar-grid{grid-template-columns:1fr;gap:10px}
  .day{min-height:0}
  .day .event{white-space:normal}
  .agenda{padding:14px}
  .archive-row{padding:16px 18px}
  .archive-row-meta{grid-template-columns:1fr}
  .detail-v3-hero{padding:18px 16px}
  .detail-v3-heading{flex-direction:column;align-items:stretch}
  .detail-v3-heading h1{font-size:24px;line-height:1.3;overflow-wrap:anywhere}
  .detail-v3-actions{position:static;display:flex;justify-content:flex-end}
  .detail-v3-actions .secondary-btn{width:auto;padding:0 12px;font-size:13px}
  .detail-v3-actions .secondary-btn span{display:inline}
  .detail-v3-facts{grid-template-columns:1fr 1fr}
  .detail-v3-tabs{padding:10px 12px 0;gap:4px}
  .detail-v3-tabs button{min-height:40px;padding:0 10px;font-size:13px}
  .detail-v3-stage{padding:16px 12px 20px}
  .workflow-item{align-items:flex-start;flex-direction:column}
  .workflow-state-select{width:100%;min-height:42px}
  .project-home-head p,.surface-page-head p{font-size:13px}
}

