@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-400-normal-Cd63HKDh.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-400-normal-7kQcAFpS.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-400-normal-BI1kUwmR.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-400-normal-DZReXJla.woff2) format("woff2"),url(/assets/source-sans-3-greek-400-normal-DJm9Ud5h.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-400-normal-dYp9C364.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-400-normal-BGPHfnm_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-ext-600-normal-6AhwUnSr.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-600-normal-uAL1a5gb.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-600-normal-BnFu5nHC.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-600-normal-y-RO8wOd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-ext-600-normal-DynePNDL.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-600-normal-D7vJ4nVX.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-600-normal-BSO157bq.woff2) format("woff2"),url(/assets/source-sans-3-greek-600-normal-BNF9LBpG.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-vietnamese-600-normal-B2sTNYey.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-600-normal-DpSexF-T.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-600-normal-Wy7HIzqC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-ext-700-normal-BhUSqjb8.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-700-normal-B6RPsSdD.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-700-normal-CIuudVLB.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-700-normal-DYE6gq6k.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-ext-700-normal-Dd6uIcuy.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-700-normal-C6ITAlBU.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-700-normal-C8Tp2qRF.woff2) format("woff2"),url(/assets/source-sans-3-greek-700-normal-BWdBblwd.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-vietnamese-700-normal-Bgamivog.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-700-normal-BHxM10oo.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-ext-700-normal-6Xi0A2be.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-700-normal-ChH_v7nA.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2) format("woff2"),url(/assets/source-sans-3-latin-700-normal-BBbVrHF_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-vietnamese-500-normal-Bos7Oy9U.woff2) format("woff2"),url(/assets/lexend-vietnamese-500-normal-EFAPmUTE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-latin-ext-500-normal-Bo17xs96.woff2) format("woff2"),url(/assets/lexend-latin-ext-500-normal-DbCmXT_D.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-latin-500-normal-Dl-X5nog.woff2) format("woff2"),url(/assets/lexend-latin-500-normal-D9x1QWTH.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-vietnamese-600-normal-Cr1ePs6O.woff2) format("woff2"),url(/assets/lexend-vietnamese-600-normal-BxEVPgxw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-latin-ext-600-normal-hDcqLAH9.woff2) format("woff2"),url(/assets/lexend-latin-ext-600-normal-BXtyp5LP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-latin-600-normal-DdvlkEkX.woff2) format("woff2"),url(/assets/lexend-latin-600-normal-DSBzZxpA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-vietnamese-700-normal-BrGlFDtO.woff2) format("woff2"),url(/assets/lexend-vietnamese-700-normal-NEp7hM5T.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-ext-700-normal-CcWyeg4T.woff2) format("woff2"),url(/assets/lexend-latin-ext-700-normal-iR1cPiNX.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-700-normal-DqO8md6r.woff2) format("woff2"),url(/assets/lexend-latin-700-normal-DVyJlN8t.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/lexend-vietnamese-800-normal-B27Hd6aN.woff2) format("woff2"),url(/assets/lexend-vietnamese-800-normal-DLOhWP8n.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/lexend-latin-ext-800-normal-B0JWHALI.woff2) format("woff2"),url(/assets/lexend-latin-ext-800-normal-r3QZLne4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/lexend-latin-800-normal-sVzxf3WX.woff2) format("woff2"),url(/assets/lexend-latin-800-normal-BcJVUnx_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--teal: #0f766e;--teal-dark: #115e56;--teal-soft: #e4f3f1;--blue: #0369a1;--blue-soft: #e6f1f8;--bg: #f6f8fa;--panel: #ffffff;--ink: #0f172a;--ink-2: #334155;--muted: #64748b;--line: #e2e8f0;--line-strong: #cbd5e1;--green: #15803d;--green-soft: #e7f6ed;--amber: #b45309;--amber-soft: #fdf2e2;--red: #b91c1c;--red-soft: #fdecec;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow: 0 10px 30px rgba(15, 23, 42, .07);--radius: 12px;--radius-sm: 8px;font-family:"Source Sans 3",ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);line-height:1.55}h1,h2,h3,h4,.eyebrow,.kpi-value,.ring-value,.phase-step span,.brand h1{font-family:Lexend,"Source Sans 3",sans-serif;letter-spacing:-.01em}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--blue);text-decoration:none}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em}.muted{color:var(--muted)!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font-weight:600;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.btn:hover{background:#f1f5f9}.btn-primary{border-color:var(--teal);background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-dark);border-color:var(--teal-dark)}.btn-accent{border-color:var(--blue);background:var(--blue);color:#fff}.btn-danger{border-color:#f0bcbc;color:var(--red);background:var(--red-soft)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:#eef2f6}.btn-sm{min-height:34px;padding:0 12px;font-size:.85rem;border-radius:7px}.btn:focus-visible,.segment:focus-visible,.signoff:focus-visible,.tabbtn:focus-visible,.accordion-head:focus-visible,.row-link:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:0 0 0 3px #0f766e47;border-color:var(--teal)}.app{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:12px 26px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:var(--teal);color:#fff;font-weight:800;font-family:Lexend,sans-serif}.brand h1{margin:0;font-size:1.02rem;line-height:1.1}.brand p{margin:0;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.92rem;color:var(--muted)}.breadcrumb button{border:0;background:transparent;color:var(--muted);padding:4px 2px;font-weight:600}.breadcrumb button:hover{color:var(--teal)}.breadcrumb .crumb-current{color:var(--ink);font-weight:700}.breadcrumb .sep{color:var(--line-strong)}.topbar-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.workspace{max-width:1180px;margin:0 auto;padding:26px;display:grid;gap:18px}.section{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm);padding:20px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section h2{margin:0;font-size:1.15rem}.section-heading p{margin:5px 0 0;color:var(--muted);font-size:.92rem}.section-actions{display:flex;gap:8px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:6px}.field span{color:var(--ink-2);font-size:.78rem;font-weight:700}.field input,.field textarea,.field select{width:100%;min-height:42px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;color:var(--ink);padding:9px 11px;outline:none}.field textarea{resize:vertical;line-height:1.5}.field-wide{grid-column:1 / -1}.checkbox-row{display:inline-flex;align-items:center;gap:8px;min-height:42px;color:var(--ink-2);font-weight:600}.checkbox-row input{width:18px;height:18px;accent-color:var(--teal)}.segmented{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:9px;background:#f1f5f9}.segment{border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink-2);padding:7px 14px;font-weight:700;font-size:.85rem}.segment:hover{background:#fff}.segment.is-selected{background:#fff;border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.segment.is-selected.tone-green{color:var(--green);border-color:#bfe6cd;background:var(--green-soft)}.segment.is-selected.tone-amber{color:var(--amber);border-color:#f3d6ab;background:var(--amber-soft)}.segment.is-selected.tone-red{color:var(--red);border-color:#f2b9b9;background:var(--red-soft)}.segment.is-selected.tone-neutral{color:var(--teal);border-color:#a9d6cf;background:var(--teal-soft)}.completion-ring{position:relative;display:grid;place-items:center;flex:none}.completion-ring svg{transform:rotate(0)}.ring-track{stroke:#e6edf2}.ring-progress{stroke:var(--teal);transition:stroke-dashoffset .6s ease}.ring-mid .ring-progress{stroke:var(--blue)}.ring-full .ring-progress{stroke:var(--green)}.ring-low .ring-progress{stroke:var(--amber)}.ring-value{position:absolute;font-weight:700;font-size:.78rem;color:var(--ink)}.completion-ring[style*="120"] .ring-value,.hub-ring .ring-value{font-size:1.5rem}.progress{height:7px;overflow:hidden;border-radius:999px;background:#e6edf2}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue));transition:width .5s ease}.pill{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:700;white-space:nowrap}.pill-active,.pill-complete,.pill-ready,.pill-green{color:var(--green);background:var(--green-soft)}.pill-draft,.pill-started,.pill-amber{color:var(--amber);background:var(--amber-soft)}.pill-overdue,.pill-red{color:var(--red);background:var(--red-soft)}.pill-empty,.pill-na,.pill-closed,.pill-archived{color:var(--muted);background:#eef2f6}.signoff-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.signoff{display:flex;align-items:center;gap:10px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:#fbfdfc;color:var(--ink-2);padding:10px 12px;text-align:left}.signoff svg{flex:none;opacity:.4}.signoff.is-signed{border-style:solid;border-color:#a7d8c5;background:var(--green-soft);color:var(--green)}.signoff.is-signed svg{opacity:1}.signoff span{font-weight:700;font-size:.88rem}.signoff small{display:block;margin-top:2px;font-weight:500;color:var(--muted);font-size:.72rem}.signoff.is-signed small{color:#2f8a63}.accordion{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.accordion+.accordion{margin-top:12px}.accordion-head{display:flex;align-items:center;gap:14px;width:100%;border:0;background:transparent;padding:14px 18px;text-align:left}.accordion.is-open .accordion-head{border-bottom:1px solid var(--line)}.accordion-title{font-family:Lexend,sans-serif;font-weight:600;font-size:1rem}.accordion-badge{margin-left:auto;color:var(--amber);background:var(--amber-soft);border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:700}.accordion-chevron{margin-left:12px;width:24px;height:24px;display:grid;place-items:center;color:var(--muted);font-size:1.2rem;line-height:1}.accordion-badge+.accordion-chevron{margin-left:0}.accordion-body{padding:18px;display:grid;gap:16px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head h2{margin:4px 0 0;font-size:clamp(1.5rem,2.4vw,2.1rem)}.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm);padding:16px 18px}.kpi-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--teal-soft);color:var(--teal);flex:none}.kpi-icon.blue{background:var(--blue-soft);color:var(--blue)}.kpi-icon.green{background:var(--green-soft);color:var(--green)}.kpi-icon.red{background:var(--red-soft);color:var(--red)}.kpi-value{font-size:1.7rem;font-weight:700;line-height:1}.kpi-label{color:var(--muted);font-size:.84rem}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search{position:relative;flex:1 1 240px;min-width:200px}.search input{width:100%;min-height:42px;padding:9px 12px 9px 38px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff}.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted)}.filter-chip{border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--ink-2);padding:8px 14px;font-weight:600;font-size:.86rem}.filter-chip.is-active{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.view-toggle{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius-sm);overflow:hidden}.view-toggle button{border:0;background:#fff;padding:9px 12px;color:var(--muted)}.view-toggle button.is-active{background:var(--teal-soft);color:var(--teal)}.apprenti-table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.apprenti-table th,.apprenti-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.apprenti-table th{background:#f1f5f9;color:var(--ink-2);font-family:Lexend,sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none}.apprenti-table th .sort-ind{color:var(--teal);margin-left:4px}.apprenti-table tbody tr{transition:background .14s ease}.apprenti-table tbody tr:hover{background:#f8fafc}.apprenti-table tbody tr:last-child td{border-bottom:0}.cell-name{display:flex;align-items:center;gap:12px}.cell-name strong{font-family:Lexend,sans-serif;font-size:.96rem}.cell-name small{display:block;color:var(--muted);font-weight:500}.row-link{border:0;background:transparent;color:var(--teal);font-weight:700;padding:6px 8px;border-radius:6px}.next-action{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;color:var(--ink-2)}.next-action:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line-strong);flex:none}.next-action.red:before{background:var(--red)}.next-action.amber:before{background:var(--amber)}.next-action.none:before{background:var(--green)}.apprenti-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.apprenti-card{display:grid;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm);padding:18px;text-align:left;transition:box-shadow .16s ease,transform .16s ease}.apprenti-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.apprenti-card-head{display:flex;align-items:center;gap:14px}.apprenti-card-head .who strong{font-family:Lexend,sans-serif;font-size:1.05rem;display:block}.apprenti-card-head .who span{color:var(--muted);font-size:.85rem}.empty-state{display:grid;place-items:center;gap:14px;text-align:center;padding:60px 24px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--panel);color:var(--muted)}.empty-state .empty-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--teal-soft);color:var(--teal)}.empty-state h3{margin:0;color:var(--ink)}.empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.phase-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.phase-step{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm);padding:12px 14px;text-align:left;color:var(--ink-2)}.phase-step .step-num{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef2f6;color:var(--muted);font-weight:700;font-family:Lexend,sans-serif;flex:none}.phase-step.is-active{border-color:var(--teal);background:var(--teal-soft)}.phase-step.is-active .step-num{background:var(--teal);color:#fff}.phase-step.is-done .step-num{background:var(--green);color:#fff}.phase-step span{font-weight:600;font-size:.92rem;line-height:1.2}.phase-step small{display:block;color:var(--muted);font-weight:500;font-size:.76rem}.apprentice-switcher{display:inline-flex;align-items:center;gap:6px}.apprentice-switcher select{min-height:38px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:6px 10px;background:#fff;font-weight:600}.dashboard{display:grid;gap:18px}.dashboard-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm);padding:22px 24px}.dashboard-hero .who h2{margin:0;font-size:1.5rem}.dashboard-hero .who p{margin:4px 0 0;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:start}.domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.domain-card{display:grid;justify-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:16px 12px;text-align:center}.domain-card span{font-weight:600;font-size:.86rem;color:var(--ink-2)}.todo-panel{display:grid;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm);padding:18px}.todo-panel h3{margin:0 0 6px;font-size:1.05rem}.todo-item{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;padding:11px 12px;text-align:left;color:var(--ink-2);font-weight:600;font-size:.9rem}.todo-item:hover{background:#f8fafc}.todo-item.red{border-left-color:var(--red)}.todo-item.amber{border-left-color:var(--amber)}.todo-item .chev{margin-left:auto;color:var(--muted)}.todo-empty{display:flex;align-items:center;gap:10px;color:var(--green);font-weight:700}.indicator13{display:grid;gap:12px;border:1px solid #bcdff7;border-radius:var(--radius);background:var(--blue-soft);padding:18px}.indicator13 h3{margin:0;color:var(--blue);font-size:1.02rem}.indicator13 .i13-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.i13-stat{background:#fff;border-radius:var(--radius-sm);padding:10px 12px}.i13-stat strong{font-family:Lexend,sans-serif;font-size:1.3rem;display:block;color:var(--blue)}.i13-stat span{color:var(--muted);font-size:.82rem}.recent-validations{display:grid;gap:4px;font-size:.88rem;color:var(--ink-2)}.recent-validations p{margin:0}.timeline-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.timeline{position:relative;display:grid;gap:12px;padding-left:30px}.timeline:before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:var(--line)}.timeline-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm)}.tl-dot{position:absolute;left:-24px;top:18px;width:14px;height:14px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line-strong)}.tl-dot-cfa{background:var(--teal)}.tl-dot-company{background:var(--blue)}.tl-dot-visit{background:#7c3aed}.tl-head{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;padding:14px 16px;text-align:left}.tl-head .tl-title{font-family:Lexend,sans-serif;font-weight:600}.tl-head .tl-dates{color:var(--muted);font-size:.82rem}.tl-kind{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px}.tl-kind.cfa{color:var(--teal);background:var(--teal-soft)}.tl-kind.company{color:var(--blue);background:var(--blue-soft)}.tl-kind.visit{color:#6d28d9;background:#f1ebfd}.tl-head .tl-right{margin-left:auto;display:flex;align-items:center;gap:10px}.tl-body{padding:0 16px 16px;display:grid;gap:14px;border-top:1px solid var(--line)}.tl-body-inner{padding-top:14px;display:grid;gap:14px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.date-row,.absence-row{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:12px}.absence-row{grid-template-columns:minmax(180px,.7fr) repeat(2,minmax(120px,1fr));align-items:end}.attendance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attendance{display:grid;gap:8px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px}.attendance strong{font-size:.86rem}.actor-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.actor-block{display:grid;gap:11px;align-content:start;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfdfc;padding:16px}.actor-block h3{margin:0 0 4px;font-size:.98rem}.engagement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.flat-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfdfc;padding:16px}.flat-card h3{margin:0 0 8px;font-size:.96rem}.flat-card p{margin:0;color:var(--ink-2);line-height:1.55;font-size:.92rem}.program-list{display:grid;gap:12px}.program-row{display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1fr) minmax(0,1fr);gap:14px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px}.program-title strong{display:block;font-family:Lexend,sans-serif}.program-title span{color:var(--muted);font-size:.78rem}.contract-hint{display:flex;align-items:center;gap:10px;border:1px solid #bcdff7;background:var(--blue-soft);border-radius:var(--radius-sm);padding:10px 14px;color:var(--blue);font-size:.9rem}.eval-selector{display:inline-flex;gap:6px}.eval-header{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:16px 18px}.eval-header .field{min-width:150px}.axis-group{display:grid;gap:10px;margin-top:16px}.axis-group h3{margin:0;color:var(--teal);font-size:.98rem}.eval-row{display:grid;grid-template-columns:minmax(240px,1.3fr) auto minmax(200px,1fr);gap:14px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);padding:12px 14px}.eval-item strong{display:block;font-size:.92rem}.eval-item span{color:var(--muted);font-size:.78rem}.alert{display:flex;gap:12px;align-items:flex-start;border-radius:var(--radius-sm);padding:12px 14px}.alert-warning{border:1px solid #f3d6ab;background:var(--amber-soft);color:#7a4a08}.alert-error{border:1px solid #f2b9b9;background:var(--red-soft);color:var(--red)}.alert strong{display:block}.audit-checklist{display:grid;gap:10px}.check-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:12px 14px}.check-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;flex:none}.check-ok .check-mark{background:var(--green-soft);color:var(--green)}.check-fail .check-mark{background:var(--red-soft);color:var(--red)}.check-item .check-label{font-weight:600}.check-item .check-detail{display:block;color:var(--muted);font-size:.82rem;font-weight:500}.check-item .row-link{margin-left:auto}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:14px;background:var(--ink);color:#fff;border-radius:var(--radius-sm);padding:12px 16px;box-shadow:var(--shadow)}.toast button{border:0;background:transparent;color:#7dd3c4;font-weight:700}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:#0f172a80;padding:20px}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;display:grid;gap:16px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dropzone{position:relative;display:grid;place-items:center;gap:8px;min-height:160px;border:2px dashed var(--line-strong);border-radius:var(--radius);background:#f8fbfa;color:var(--teal);text-align:center;font-weight:700}.dropzone small{color:var(--muted);font-weight:500}.dropzone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.detected-grid{display:flex;flex-wrap:wrap;gap:8px}.detected-grid span{border-radius:999px;background:var(--teal-soft);color:var(--teal);padding:6px 10px;font-size:.82rem;font-weight:700}.import-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field-preview{display:grid;gap:6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfdfc;padding:12px}.field-preview h3{margin:0;font-size:.9rem}.field-preview p{display:grid;gap:2px;margin:0;font-size:.85rem}.field-preview strong{color:var(--muted);font-size:.7rem;text-transform:uppercase}.raw-preview{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfdfc;padding:10px 12px}.raw-preview summary{cursor:pointer;font-weight:700}.raw-preview pre{max-height:300px;overflow:auto;white-space:pre-wrap;color:var(--ink-2);font-size:.78rem}.summary{display:grid;gap:18px}.summary-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.print-page{display:grid;gap:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:26px;box-shadow:var(--shadow-sm)}.print-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid var(--teal);padding-bottom:14px}.print-header h1{margin:4px 0 0;font-size:1.6rem}.print-header p{margin:0}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.summary-block{display:grid;gap:6px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px}.summary-block h3{margin:0 0 4px;font-size:.95rem}.summary-block p,.summary-block li{margin:0;color:var(--ink-2);font-size:.9rem;line-height:1.45}.summary-block ul{margin:0;padding-left:18px}.kpi-line{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.kpi-line .domain-card span{font-size:.78rem}.validation-list{display:grid;gap:4px}.summary-table{width:100%;border-collapse:collapse;font-size:.88rem}.summary-table th,.summary-table td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}.summary-table th{background:#f1f6f4;color:var(--ink-2)}.print-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font-size:.85rem}.print-only{display:none}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,var(--teal-soft),transparent 60%),var(--bg)}.login-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.login-form,.login-sent{display:grid;gap:12px;justify-items:stretch;text-align:center}.login-form .empty-icon,.login-sent .empty-icon{justify-self:center}.login-form h2,.login-sent h2{margin:4px 0 0}.login-form .field{text-align:left}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.save-status{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted);font-weight:600}.save-status.saved{color:var(--green)}.user-chip{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--ink-2)}.user-chip strong{font-family:Lexend,sans-serif}.role-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--teal);background:var(--teal-soft);border-radius:999px;padding:2px 8px}.readonly-banner{display:flex;align-items:center;gap:10px;border:1px solid #cbd5e1;background:#eef2f6;color:var(--ink-2);border-radius:var(--radius-sm);padding:10px 14px;font-weight:600;font-size:.9rem}.is-readonly input,.is-readonly textarea,.is-readonly select,.is-readonly .segment,.is-readonly .signoff,.is-readonly .checkbox-row input,.is-readonly .row-actions{pointer-events:none;opacity:.65}@media(max-width:980px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.phase-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.actor-columns,.engagement-grid,.import-columns,.program-row{grid-template-columns:1fr}.eval-row{grid-template-columns:1fr;gap:10px}}@media(max-width:640px){.workspace,.topbar{padding-left:16px;padding-right:16px}.kpi-row,.form-grid,.domain-grid,.attendance-grid,.signoff-row,.date-row,.absence-row,.phase-stepper,.summary-grid,.kpi-line{grid-template-columns:1fr}.dashboard-hero{grid-template-columns:1fr;text-align:center;justify-items:center}.apprenti-table{display:block;overflow-x:auto}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media print{@page{size:A4;margin:12mm}body{background:#fff}.topbar,.phase-stepper,.print-hidden,.summary-actions,.timeline-toolbar,.toast{display:none!important}.app,.workspace{display:block;padding:0;max-width:none}.print-only{display:block}.summary{gap:0}.print-page{box-shadow:none;border:0;border-radius:0;padding:0;min-height:258mm;page-break-after:always}.print-page:last-child{page-break-after:auto}.summary-grid,.kpi-line{grid-template-columns:repeat(2,1fr)}.summary-block,.check-item,.summary-table{break-inside:avoid}}
