/* Isolated design experiment: shared portal behavior and API contracts are unchanged. */
:root{--bg:#f7f6f3;--ink:#173247;--muted:#536476;--line:#dfe4e8;--accent:#8d2143;--accent-soft:#f5eaf0;--teal:#137d7b;--teal-soft:#e9f5f3;--radius-xl:14px;--radius-lg:12px;--radius-md:10px;--shadow:none;--shadow-hover:0 4px 14px rgba(23,50,71,.06)}
body{font-size:14px}::selection{background:#ecd2dc;color:#173247}input{caret-color:var(--accent)}
.card{box-shadow:none;border:1px solid var(--line);border-radius:12px}
.topbar{min-height:64px;margin-bottom:20px;gap:16px}.topbar-copy .eyebrow{display:none}.topbar-title,.topbar h1,.page-title{font-size:26px;letter-spacing:-.025em}.topbar-subtitle{font-size:13px}.topbar-actions{gap:10px}.search{height:42px;border-radius:9px}.main-site{min-height:40px;border-radius:8px}.icon-button,.avatar,.round-button{width:40px;height:40px}.view-as-select,.view-as-control select{min-height:38px;font-size:12px}
.section-heading h2,.sp-section-head h2{font-size:20px}.card-title{font-size:17px}.kicker{display:none}
.primary-button,.soft-button,.secondary-button{min-height:38px;padding:8px 13px;border-radius:8px;font-size:13px}.text-button{font-size:13px}
.home-page .home-grid{gap:20px}.home-page .home-main{display:grid;gap:20px;align-content:start}.home-page .home-work{padding:0 16px 8px;overflow:hidden;background:white}.home-page .home-work .side-card-header{background:transparent;color:var(--ink);padding:16px 0 12px;border-bottom:1px solid var(--line);margin:0}.home-page .home-work .side-card-header a{color:var(--accent)}
.home-task-filters{padding:8px 0;gap:6px}.home-task-filters>button{flex:0 1 auto;min-height:34px;padding:6px 10px;font-size:12px;border-radius:6px;background:transparent}.home-task-filters>button.selected{background:var(--accent-soft);color:var(--accent)}.home-task-filters strong{font-size:13px}.home-task-filters span{font-size:12px}
.home-page .work-list li{padding:12px 0;min-height:64px}.home-page .work-list b{font-size:14px}.home-page .work-list input{width:17px;height:17px}.home-page .work-list span,.home-page .work-list time{font-size:12px}.home-page .work-list em{font-size:11px}
.home-page .project-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.home-project-tile{border:0;border-radius:0;border-bottom:1px solid var(--line);background:#fff}.home-project-tile:last-child{border-bottom:0}.home-project-tile .project-card-content{padding:14px 16px;min-height:0}.home-project-tile h3{font-size:15px;margin:0 0 4px}.home-project-tile .project-context{font-size:12px;color:var(--teal)}.home-project-signals{margin-top:6px}.home-project-tile .priority-note{margin-top:6px}
.home-page .home-side{gap:16px;align-content:start}.home-page .quick-actions{padding:16px;border:1px solid var(--line);border-radius:12px}.home-page .quick-row{min-height:42px;padding:9px 0;font-size:13px}.home-page .quick-icon{background:transparent;color:var(--accent);width:26px;height:26px}.home-page .home-calendar{padding:16px;background:#eef6f5}.home-page .home-calendar .card-title{color:#126767}.home-page .attention{padding:16px 20px;border-radius:12px;margin-bottom:18px}
.my-project-row{padding:14px 16px;border-radius:10px}.my-project-row h3{font-size:16px}.my-project-list{gap:10px}.my-project-stats strong{font-size:26px}.my-project-board-column{padding:10px;background:#f0f2f2;border:0;border-radius:10px}.my-project-board-card{padding:12px;border-radius:8px;box-shadow:none}.my-project-board-card h3{font-size:14px}.my-project-board-next-task{font-size:12px}.my-project-board-card-meta{font-size:11px}.task-kanban-card{padding:10px;border-radius:9px;box-shadow:none}.task-compact-details>summary{padding:4px}.task-kanban-column{padding:12px;background:#f0f2f2;border-radius:10px}
.role-home{border:1px solid var(--line);padding:20px;border-radius:12px;background:white}.role-home[data-account-type=faculty]{background:white}.role-home h2{font-size:20px}.role-home h3{font-size:17px}.role-home-queue>header,.role-home-management>header{background:transparent;color:var(--ink)}.role-home-action{padding:12px 0}.role-home-queue,.role-home-compliance{padding:16px}.role-home .card{box-shadow:none}
body[data-route=project] .project-heading-copy{padding:20px 20px 12px}body[data-route=project] .project-heading h1{font-size:25px}body[data-route=project] .project-heading .project-identity-art{min-height:0}body[data-route=project] .project-actions{padding:0 20px 16px;gap:8px}.project-tabs{flex-wrap:wrap;gap:4px}.project-tabs button{font-size:13px;padding:12px}.project-layout{gap:16px}.card-head h2{font-size:18px}.page-shell .card-head{padding:16px}.phase-summary,.project-phase-summary{background:#eef6f5}.project-heading{box-shadow:none}
@media(min-width:901px){.app-shell{grid-template-columns:182px minmax(0,1fr)}.rail{top:0;height:100dvh;margin:0;border-radius:0;border:0;border-right:1px solid var(--line);box-shadow:none;background:#fff}.brand{height:90px}.brand-mark{width:44px;height:50px}.rail-nav{padding:10px;gap:5px}.nav-item{flex-direction:row;justify-content:flex-start;min-height:44px;padding:10px 14px;border-radius:8px;font-size:13px}.nav-item svg{width:21px;height:21px}.nav-item::before{display:none}.grouped-nav-trigger>span:nth-child(2){font-size:13px}.workspace{max-width:1500px;padding:22px 26px 50px}.home-page .home-grid{grid-template-columns:minmax(0,1fr) 260px}.home-page .home-side{grid-column:2;grid-row:1}.home-page .home-main{grid-column:1;grid-row:1}body[data-route=project] .project-heading{grid-template-columns:120px minmax(0,1fr) minmax(270px,30%)}body[data-route=project] .project-heading .project-identity-art{grid-row:1 / span 2}.my-project-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1300px){.home-page .home-grid{grid-template-columns:minmax(0,1fr) 280px}}
@media(min-width:901px) and (max-width:1120px){.app-shell{grid-template-columns:148px minmax(0,1fr)}.workspace{padding:18px}.topbar{flex-wrap:wrap}.topbar-copy{flex:1}.topbar-actions{max-width:100%}.home-page .home-grid{grid-template-columns:minmax(0,1fr) 225px}body[data-route=project] .project-heading{grid-template-columns:90px minmax(0,1fr)}body[data-route=project] .phase-plan{grid-column:1/-1}}
@media(min-width:851px) and (max-width:900px){.topbar{flex-wrap:wrap}.topbar-copy{flex:1}.topbar-actions{max-width:100%}}
@media(max-width:900px){.topbar-title,.topbar h1{font-size:23px}.home-page .home-work{padding:0 12px 6px}.home-page .work-list li{min-height:64px}.home-page .quick-actions{padding:12px}.home-page .quick-list{gap:8px}.home-page .quick-row{padding:8px;font-size:12px}.my-project-board{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-route=project] .project-heading{grid-template-columns:1fr}body[data-route=project] .project-heading .project-identity-art{display:none}body[data-route=project] .project-heading-copy{padding:16px}.home-page .attention{padding:14px}.home-project-tile .project-card-content{padding:12px}.card-title{font-size:16px}}
@media(max-width:600px){.my-project-board{grid-template-columns:minmax(0,1fr)}.home-page .home-grid{gap:14px}.home-page .home-main{gap:16px}.home-page .home-work .side-card-header{padding:13px 0}.home-task-filters>button{min-height:40px}.home-page .work-list li{padding:12px 0}.home-page .home-calendar{padding:14px}.project-tabs button{min-height:44px}.role-home{padding:14px}.role-home h2{font-size:18px}.my-project-board-card{padding:12px}}
/* Project experiment: a compact identity header and a teal progress companion.
   Keep the native controls, permission states, tab routing and activity records. */
body[data-route=project] .project-breadcrumb { position:static; padding:0; margin:0 0 14px; }
body[data-route=project] .project-breadcrumb p { min-width:0; flex-wrap:wrap; font-size:13px; }
body[data-route=project] .project-heading { grid-template-columns:104px minmax(0,1fr) minmax(260px,31%); gap:0; border-radius:14px; background:#fff; }
body[data-route=project] .project-heading .project-identity-art { display:grid; grid-column:1; grid-row:1; width:72px; height:88px; min-height:0; margin:24px 0 0 24px; border-radius:10px; align-self:start; }
body[data-route=project] .project-identity-art > .art-glyph { font-size:36px; }
body[data-route=project] .project-heading .project-image-action { inset:auto 4px 4px auto; width:28px; min-height:28px; padding:4px; border-radius:6px; display:grid; place-items:center; grid-template-columns:1fr; }
body[data-route=project] .project-image-action strong,
body[data-route=project] .project-image-action small { display:none; }
body[data-route=project] .project-image-action svg { width:16px; }
body[data-route=project] .project-heading-copy { grid-column:2; grid-row:1; padding:24px 22px 16px 16px; justify-content:flex-start; }
body[data-route=project] .project-heading h1 { font-size:clamp(23px,2.2vw,30px); line-height:1.2; margin:0 0 8px; overflow-wrap:break-word; }
body[data-route=project] .project-heading-copy > p:not(.eyebrow) { font-size:13px; line-height:1.5; max-width:65ch; }
body[data-route=project] .project-state-preview { margin-top:12px; gap:6px; flex-wrap:wrap; min-width:0; }
body[data-route=project] .project-state-preview .chip { font-size:11px; max-width:100%; white-space:normal; }
body[data-route=project] .project-source-links { margin-top:10px; font-size:12px; }
body[data-route=project] .project-people-preview { display:none; }
body[data-route=project] .project-actions { grid-column:1 / 3; grid-row:2; padding:14px 24px; border-top:1px solid var(--line); gap:8px; }
body[data-route=project] .project-actions .button { min-height:38px; padding:8px 12px; border-radius:8px; font-size:12px; }
body.rwt-simple[data-route=project] #simple-quick { grid-column:3; grid-row:1 / span 2; padding:22px; gap:14px; background:#eaf5f2; border-left:1px solid #d2e6df; border-top:0; }
body[data-route=project] #simple-quick .simple-phase-label small { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#42665e; }
body[data-route=project] #simple-quick .simple-phase-label strong { font-size:20px; color:#14675c; }
body[data-route=project] .phase-sequence { display:grid; grid-template-columns:repeat(auto-fit,minmax(65px,1fr)); gap:10px 4px; overflow:visible; }
body[data-route=project] .phase-sequence li { font-size:11px; padding:0 2px; overflow-wrap:normal; }
body[data-route=project] .phase-sequence li::before { display:none; }
body[data-route=project] .phase-sequence-dot { width:22px; height:22px; margin-bottom:6px; }
body[data-route=project] .simple-phase-actions .soft-button { min-height:36px; padding:7px 10px; font-size:12px; border-radius:7px; }
body[data-route=project] #simple-quick > .plan-card { padding-top:10px; }
body[data-route=project] #simple-nav { display:flex; flex-wrap:wrap; overflow:visible; gap:2px; padding:4px 8px; margin:16px 0; border:1px solid var(--line); background:#fff; }
body[data-route=project] #simple-nav button { flex:0 1 auto; padding:10px 12px; min-height:42px; font-size:12px; white-space:normal; border-radius:6px; border-bottom:0; }
body[data-route=project] #simple-nav button.active { background:var(--accent-soft); color:var(--accent); }
body.rwt-simple[data-route=project][data-simple-tab=overview] .project-grid { grid-template-columns:minmax(0,1fr) 280px; gap:16px; }
body.rwt-simple[data-route=project][data-simple-tab=overview] .updates-card { grid-row:2; }
body.rwt-simple[data-route=project][data-simple-tab=overview] .team-card { grid-row:1 / span 2; }
body[data-route=project] .page-shell .card:not(.project-heading):not(#simple-quick) { padding:18px; border-radius:12px; }
body[data-route=project] .dates-card { background:#fff; border-top:3px solid var(--teal); }
body[data-route=project] .team-card { background:#f0f4f7; border-top:3px solid #6d8da3; }
body[data-route=project] .card-head { gap:12px; align-items:start; margin-bottom:14px; flex-wrap:wrap; }
body[data-route=project] .card-head h2 { font-size:17px; }
body[data-route=project] .card-head p { font-size:12px; }
body[data-route=project] .key-dates .key-date { padding:12px 0; column-gap:8px; }
body[data-route=project] .team-list li { min-height:54px; padding:10px 0; }
body[data-route=project] .team-list strong { font-size:13px; overflow-wrap:anywhere; }
body[data-route=project] .team-list small { font-size:11px; }
body[data-route=project] .team-list .initials { width:30px; height:30px; font-size:10px; }
body[data-route=project] .team-card > .text-button { margin-top:10px; }
body[data-route=project] .activity-head { display:block; }
body[data-route=project] .activity-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
body[data-route=project] .activity-filters { flex-wrap:wrap; }
body[data-route=project] .activity-filters button { min-height:32px; padding:6px 9px; font-size:11px; }
body[data-route=project] .activity-row p { font-size:13px; line-height:1.6; }
body[data-route=project] .activity-row .activity-actor { color:#536476; font-size:11px; }
body[data-route=project] #reference-fields { padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; }
body[data-route=project] .rwt-tab { gap:14px; }
body[data-route=project] .rwt-tab-heading { padding:16px 18px; border-radius:12px; box-shadow:none; }
body[data-route=project] .rwt-tab-heading h2 { font-size:18px; }
body[data-route=project] .rwt-tab-heading p { font-size:12px; line-height:1.5; }
body[data-route=project] .rwt-tab-actions { flex-wrap:wrap; }
body[data-route=project] .rwt-tab-button { font-size:12px; border-radius:8px; }
body[data-route=project] .rwt-kanban { grid-template-columns:repeat(4,minmax(0,1fr)); overflow:visible; gap:12px; }
body[data-route=project] .rwt-kanban-column { background:#f0f3f4; border:1px solid var(--line); border-radius:10px; }
body[data-route=project] .rwt-task-card { padding:12px; border-radius:8px; box-shadow:none; }
body[data-route=project] .rwt-tab-card,
body[data-route=project] .rwt-file-pane { border-radius:12px; box-shadow:none; }
@media (max-width:1150px) {
  body[data-route=project] .project-heading { grid-template-columns:96px minmax(0,1fr); }
  body[data-route=project] .project-heading-copy { padding-right:20px; }
  body.rwt-simple[data-route=project] #simple-quick { grid-column:1 / -1; grid-row:3; border-left:0; border-top:1px solid #d2e6df; grid-template-columns:minmax(140px,1fr) minmax(0,2fr); padding:18px 24px; }
  body[data-route=project] #simple-quick > .plan-card { grid-column:1 / -1; }
  body.rwt-simple[data-route=project][data-simple-tab=overview] .project-grid { grid-template-columns:minmax(0,1fr) 240px; }
}
@media (max-width:800px) {
  body[data-route=project] .rwt-kanban { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.rwt-simple[data-route=project][data-simple-tab] .project-grid { display:flex; flex-direction:column; gap:14px; }
  body[data-route=project] .dates-card { order:0; }
  body[data-route=project] .updates-card { order:1; }
  body[data-route=project] .team-card { order:2; }
}
@media (max-width:600px) {
  body[data-route=project] .rwt-kanban { grid-template-columns:minmax(0,1fr); }
  body[data-route=project] .rwt-tab-button { min-height:44px; }
  body[data-route=project] .project-heading { grid-template-columns:74px minmax(0,1fr); }
  body[data-route=project] .project-heading .project-identity-art { width:48px; height:60px; margin:18px 0 0 16px; }
  body[data-route=project] .project-identity-art > .art-glyph { font-size:27px; }
  body[data-route=project] .project-heading-copy { padding:18px 16px 14px 6px; }
  body[data-route=project] .project-heading h1 { font-size:21px; }
  body[data-route=project] .project-actions { padding:12px 16px; }
  body[data-route=project] .project-actions .button { min-height:44px; }
  body.rwt-simple[data-route=project] #simple-quick { grid-template-columns:minmax(0,1fr); padding:16px; }
  body[data-route=project] #simple-nav { padding:4px; gap:2px; }
  body[data-route=project] #simple-nav button { min-height:44px; padding:9px 10px; font-size:12px; }
  body[data-route=project] .simple-phase-actions .soft-button { min-height:44px; }
  body[data-route=project] .activity-filters button { min-height:44px; }
  body[data-route=project] .page-shell .card:not(.project-heading):not(#simple-quick) { padding:16px; }
}
/* Resolve incumbent component styles without changing shared source rules. */
.home-page .home-work #home-work-heading{color:var(--ink)}
.home-page .home-work .side-card-header{min-height:48px}
.home-page .home-project-tiles .project-grid.sp-project-grid{grid-template-columns:minmax(0,1fr)}
.home-page .home-project-tile.sp-project-card{display:block;min-height:0}
.home-page .home-project-tile .project-card-content{width:100%;border:0}
.home-page .home-calendar .side-card-header{background:transparent;color:var(--ink)}
.home-page .home-calendar .side-card-header h2{color:#126767}
.home-page .home-calendar .side-card-header a{color:var(--accent)}
/* The wider portal rail leaves less room for Manage's four request filters. */
.cc-intake-filters{flex-wrap:wrap}
.layout-preview-switch{position:relative;display:flex;justify-content:center;align-items:center;gap:8px;padding:8px 12px;background:#eef2f4;color:#173247;font-size:12px;border-bottom:1px solid #dfe4e8}
.layout-preview-switch button{font:inherit;min-height:32px;border:1px solid #bcc9d1;border-radius:6px;background:#fff;color:#173247;padding:6px 12px;cursor:pointer}
.layout-preview-switch button[aria-pressed=true]{background:#173247;color:#fff;border-color:#173247}
.layout-preview-switch button:focus-visible{outline:3px solid #137d7b;outline-offset:2px}
@media(min-width:901px){.rail .nav-item{min-height:44px}.rail .brand{height:90px}.home-page .home-project-tile .project-card-content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px}.home-project-tile .project-card-content h3{grid-column:1}.home-project-tile .project-context{grid-column:2;grid-row:1}.home-project-tile .home-project-signals{grid-column:1/-1}.home-project-tile .priority-note{grid-column:1/-1}}
@media(max-width:600px){.layout-preview-switch{font-size:11px;gap:6px}.layout-preview-switch button{min-height:34px;padding:6px 8px}.home-page .home-work #home-work-heading{font-size:16px}.home-page .home-work .side-card-header{min-height:42px}}
