

:root{
 --bg:#f6f6f3;--surface:#fff;--surface2:#fafaf8;--ink:#171717;--muted:#777;
 --line:#e1e1dc;--line2:#ededE8;--red:#b43b3b;--redbg:#f8e9e9;--amber:#986414;--amberbg:#f8efdd;
 --blue:#3e6597;--bluebg:#eaf0f7;--purple:#674f90;--purplebg:#efeaf6;--green:#306b48;--greenbg:#e8f2eb;
 --graybg:#efefec;--r:15px
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,textarea,select{font:inherit} button{cursor:pointer}.hidden{display:none!important}
.small{font-size:12px;color:var(--muted)}.mini{font-size:10.5px;color:var(--muted)}
.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;z-index:20}
.logo{padding:4px 8px 18px}.logoMark{font-size:10px;letter-spacing:.17em;color:#888;font-weight:850}.logoName{font-size:17px;font-weight:800;margin-top:4px}
.userMini{margin:0 5px 12px;border:1px solid var(--line);border-radius:12px;padding:10px}.userName{font-size:12px;font-weight:750}.userRole{font-size:10px;color:#888;margin-top:2px;text-transform:capitalize}
.navLabel{font-size:9.5px;color:#999;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:10px 10px 6px}
.navBtn{width:100%;border:0;background:transparent;color:#565656;text-align:left;border-radius:10px;padding:10px 11px;margin:2px 0;font-weight:670;font-size:12.5px;display:flex;align-items:center;gap:10px}
.navBtn:hover{background:#f5f5f2;color:#111}.navBtn.active{background:#171717;color:#fff}.navIcon{width:18px;text-align:center}
.sidebarFoot{margin-top:auto;border-top:1px solid var(--line);padding:12px 7px 0}.main{min-width:0}
.driveSyncBox{margin-bottom:9px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#fafaf8}
.driveSyncTop{display:flex;align-items:center;justify-content:space-between;gap:8px}
.driveSyncStatus{font-size:9.5px;font-weight:760;color:#666}
.driveSyncStatus.ok{color:#32714a}.driveSyncStatus.busy{color:#8c6a20}.driveSyncStatus.error{color:#a13d3d}
.driveSyncMeta{font-size:8.5px;color:#999;margin-top:3px;line-height:1.35}
.driveSyncBtn{font-size:9px!important;padding:4px 7px!important}

.topbar{height:64px;background:rgba(246,246,243,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 26px;position:sticky;top:0;z-index:15}
.crumb{font-size:10.5px;color:#888}.topTitle{font-size:14px;font-weight:760;margin-top:2px}.content{max-width:1180px;margin:0 auto;padding:25px 26px 70px}
.btn{border:1px solid var(--line);background:#fff;color:#222;border-radius:10px;padding:9px 12px;font-weight:680;font-size:11.5px}
.btn:hover{background:#f8f8f5}.btn.primary{background:#171717;color:#fff;border-color:#171717}.btn.success{background:var(--green);color:#fff;border-color:var(--green)}
.btn.revision{background:var(--purple);color:#fff;border-color:var(--purple)}.btn.danger{color:#9b3030;border-color:#e6c8c8;background:#fff}.btn.icon{padding:7px 9px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 1px 2px rgba(0,0,0,.018)}
.cardPad{padding:17px}.sectionHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.sectionHead h2,.sectionHead h3{margin:0}.sectionHead h2{font-size:18px}.sectionHead h3{font-size:14px}
.fieldLabel{display:block;font-size:10px;font-weight:800;color:#666;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
input,textarea,select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 11px;color:#171717;outline:none}
input:focus,textarea:focus,select:focus{border-color:#aaa;box-shadow:0 0 0 3px rgba(0,0,0,.035)}
textarea{min-height:94px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.divider{height:1px;background:var(--line2);margin:15px 0}
.empty{padding:28px;text-align:center;color:#888;font-size:12px}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:780;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.badge.urgent{color:var(--red);background:var(--redbg)}.badge.pending{color:var(--amber);background:var(--amberbg)}.badge.internal{color:var(--blue);background:var(--bluebg)}
.badge.revise{color:var(--purple);background:var(--purplebg)}.badge.approved{color:var(--green);background:var(--greenbg)}.badge.closed,.badge.normal{color:#666;background:var(--graybg)}.badge.important{color:var(--amber);background:var(--amberbg)}
.askEyebrow{font-size:9.5px;font-weight:850;letter-spacing:.11em;color:#888;text-transform:uppercase}

/* login */
.loginScreen{position:fixed;inset:0;background:#f3f3f0;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}
.loginCard{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 18px 60px rgba(0,0,0,.08)}
.loginTitle{font-size:25px;font-weight:780;letter-spacing:-.03em;margin:5px 0}.loginCard p{font-size:12px;color:#777;line-height:1.5}


/* Step 6B: faithful foundation styles from existing MTP UI */
.workspaceIntro{margin-bottom:14px}.workspaceIntro h1{font-size:24px;margin:0 0 5px;letter-spacing:-.025em}.workspaceIntro p{font-size:12px;color:#777;margin:0;line-height:1.5}
.metricGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.metricCard{padding:18px 20px}.metricNum{font-size:27px;font-weight:800;letter-spacing:-.04em}.metricName{font-size:11px;color:#777;margin-top:4px}
.sectionHead h2{font-size:16px}.mtTitle{font-size:14px;font-weight:800}.textMuted{color:#777}.fine{font-size:12px;color:#777;line-height:1.55}
.kicker{font-size:10px;color:#898989;text-transform:uppercase;font-weight:800;letter-spacing:.1em}
.auth{position:fixed;inset:0;z-index:100;background:#f3f3f0;display:flex;align-items:center;justify-content:center;padding:17px}
.authPanel{width:min(440px,100%);background:white;padding:28px;border:1px solid #e1e1dc;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.08)}
.authPanel img{width:155px;max-height:44px;object-fit:contain;object-position:left}.authPanel h1{font-size:25px;letter-spacing:-.04em;margin:23px 0 5px}.authPanel p{color:#777;font-size:12px;line-height:1.55;margin:0 0 18px}
.authPanel label{font-size:11px;font-weight:750;display:block;margin:12px 0 7px}
.authActions{margin-top:15px;display:flex;gap:8px;align-items:center;justify-content:space-between}.authActions .primary{padding:11px 19px}
.notice{padding:11px 13px;border-radius:10px;font-size:12px;line-height:1.5;background:#f3f3ef;color:#686862;margin-top:13px}
.notice.error{background:#fbecec;color:#9b3030}.notice.good{background:#eaf5ec;color:#326b46}
.accountChip{background:#fff;border-radius:11px;border:1px solid #e1e1dc;padding:8px 12px;font-size:11px;color:#555}
.sideBrand{display:flex;align-items:center;gap:0;flex-direction:column;align-items:flex-start;padding:4px 8px 15px}.sideBrand img{width:104px;max-height:26px;object-fit:contain;object-position:left}.sideBrand .subbrand{font-weight:800;font-size:15px;margin-top:11px}
.navBtn:disabled{cursor:not-allowed;opacity:.42}.navBtn:disabled:hover{background:transparent;color:#565656}
.projectRow{width:100%;display:flex;text-align:left;border:0;border-bottom:1px solid #efefeb;background:transparent;padding:15px 4px;align-items:center;justify-content:space-between;gap:15px}
.projectRow:last-child{border-bottom:0}.projectRow:hover{background:#fafaf8}.projectName{font-weight:780;font-size:13px}.projectCode{font-weight:800;font-size:10px;color:#888;letter-spacing:.04em}
.pill{font-size:10px;font-weight:800;padding:5px 9px;border-radius:99px;background:#f0f0ec;color:#777}
.softBlock{padding:13px 14px;background:#fafaf8;border:1px solid #ededE8;border-radius:11px}.softBlock strong{font-size:13px}
.itemLine{font-size:12px;color:#676767;line-height:1.5;padding-top:6px}.featureGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.featureGrid .card{padding:16px}.featureGrid .card strong{display:block;margin:5px 0 6px;font-size:13px}
.formRow{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}
.formRow label{font-size:10px;font-weight:800;color:#777;display:block;margin-bottom:5px}
.badgeGood{color:#2f6b45;background:#eaf4eb;border-radius:99px;font-size:10px;padding:6px 9px;font-weight:800}
.content{max-width:1180px;margin:0 auto;padding:25px 26px 70px}
#statusBar{font-size:10.5px;line-height:1.5;padding:9px 12px;border:1px solid #e1e1dc;border-radius:10px;background:white;margin-bottom:14px;color:#666}
#statusBar.error{background:#fff0f0;color:#8d3030;border-color:#e8d3d3}
#statusBar.good{background:#eef7ef;color:#306b48;border-color:#d4e9d7}
.logoMark{font-size:10px;letter-spacing:.12em;font-weight:800;color:#777}
.subtleLink{color:#171717;text-decoration:none;font-size:11px;font-weight:700}.subtleLink:hover{text-decoration:underline}
#projectDetail{display:none}#projectListView{display:block}.badgeMobile{display:none}
@media(max-width:940px){.metricGrid{grid-template-columns:repeat(3,1fr)}.formRow{grid-template-columns:1fr 1fr}.formRow button{grid-column:1/-1}}
@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{position:relative;top:auto;height:auto;padding:12px;display:block}.sideBrand{padding:3px 4px 10px}.sideBrand img{width:92px}.sideBrand .subbrand{font-size:12px;margin-top:5px}.navLabel,.sidebarFoot{display:none}.sidebar nav{display:flex;gap:5px;overflow-x:auto}.sidebar nav .navBtn{width:auto;white-space:nowrap;flex:0 0 auto}.sidebar nav .navBtn:disabled{display:none}.topbar{position:sticky;top:0;padding:0 15px;height:59px}.content{padding:17px 13px 70px}.metricGrid{grid-template-columns:1fr 1fr}.metricCard{padding:13px}.featureGrid{grid-template-columns:1fr}.authPanel{padding:23px}.badgeMobile{display:inline}.userMini{display:none}}
@media(max-width:450px){.formRow{grid-template-columns:1fr}.formRow button{grid-column:auto}.metricGrid{grid-template-columns:1fr 1fr}}

[hidden]{display:none!important}

/* Step 6C: question & clarification workflow — same MTP light, editorial style */
.questionRows{margin-top:13px}.questionCard{border:1px solid var(--line2);border-radius:11px;background:#fff;padding:13px 14px;margin:8px 0;display:flex;justify-content:space-between;gap:12px;align-items:center;width:100%;text-align:left}
.questionCard:hover{background:#fafaf8}.questionCard .questionLine{font-size:12.5px;font-weight:760;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.questionCard .questionSmall{font-size:10px;color:#999;margin-top:6px}
.stackForm{display:grid;gap:12px}.stackForm label{display:block;color:#666;font-size:10px;letter-spacing:.04em;text-transform:uppercase;font-weight:800;margin-bottom:6px}.stackForm textarea{min-height:90px;line-height:1.5}.subSectionHeading{font-size:14px;margin:5px 0 13px}
.statusPill{display:inline-flex;font-size:10px;font-weight:790;letter-spacing:.01em;padding:5px 9px;background:#eee;border-radius:99px;color:#555}.statusPill.Pending{background:var(--amberbg);color:var(--amber)}.statusPill.Approved{background:var(--greenbg);color:var(--green)}.statusPill.Revise{background:var(--purplebg);color:var(--purple)}.statusPill.Declined{background:var(--redbg);color:var(--red)}
.solutionOption{border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.55}.solutionOption b{display:block;font-size:10px;margin-bottom:5px;color:#777;text-transform:uppercase}
.decisionArea{margin-top:15px;padding:16px;border-radius:12px;border:1px solid #e4e5de;background:#fafaf8}.saveFeedback{color:#888;font-size:10px}.saveFeedback.error{color:#b43b3b}.saveFeedback.good{color:#306b48}
.eventLine{padding:10px 0;border-top:1px solid var(--line2);font-size:11px;color:#666;white-space:pre-wrap;overflow-wrap:anywhere}.eventLine strong{color:#252525}
@media(max-width:760px){.questionCard{align-items:flex-start}.questionCard .questionStatus{text-align:right}.decisionArea{padding:11px}.grid2{grid-template-columns:1fr}}
