@charset "UTF-8";@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7e8QL9wU6ingQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7e8QL95U6ingQ.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7e8QL9xU6ingQ.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7e8QL9-U6ingQ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7e8QL9yU6ingQ.woff2) format("woff2");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:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7e8QL9zU6ingQ.woff2) format("woff2");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:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7e8QL99U6g.woff2) format("woff2");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:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR4SDktYw.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GRxSDktYw.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR5SDktYw.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR2SDktYw.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR6SDktYw.woff2) format("woff2");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:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR7SDktYw.woff2) format("woff2");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:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR1SDk.woff2) format("woff2");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:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR4SDktYw.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GRxSDktYw.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR5SDktYw.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR2SDktYw.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR6SDktYw.woff2) format("woff2");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:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR7SDktYw.woff2) format("woff2");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:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ebgaramond/v32/SlGUmQSNjdsmc35JDF1K5GR1SDk.woff2) format("woff2");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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}:root{--ink: #1C1C1A;--ink-on: #F5F0E8;--ink2: #52524E;--ink3: #8A8A84;--gold: #B8A96A;--gold-l: #E8DFB4;--gold-d: #7A6E40;--ok: #1D9E75;--ok-l: #E1F5EE;--ok-d: #085041;--warn: #BA7517;--warn-l: #FAEEDA;--danger: #A32D2D;--danger-l: #FCEBEB;--surf: #FAFAF8;--surf2: #F2F0EA;--white: #FFFFFF;--bdr: #E4E2DA;--bdr2: #D0CEC6;--r: 8px;--r2: 12px;--r3: 16px;--max: 640px}body.theme-mono{--ink: #F5F0E8;--ink2: #C8C4BC;--ink3: #8A8A84;--ink-on: #0E0E0C;--surf: #0E0E0C;--surf2: #1A1A17;--white: #161614;--bdr: #2A2A26;--bdr2: #363630;--gold-l: #3A3428;--gold-d: #D4BE84;--ok-l: #0A2E22;--ok-d: #4ECFA0;background:var(--surf)}body.theme-mono .topbar{background:#080806}body.theme-mono .sidebar{background:#0e0e0c}body.theme-mono .card{background:var(--white)}body.theme-mono .kpi{background:#1a1a17}body.theme-mono .form-input{background:#1a1a17;border-color:var(--bdr2);color:var(--ink)}body.theme-warm{--ink: #2C1F14;--ink2: #5C4A38;--ink3: #9A8472;--ink-on: #FAF6EF;--gold: #C4A45A;--surf: #FAF6EF;--surf2: #F0E8DA;--white: #FDF8F2;--bdr: #E8DDD0;--bdr2: #D4C8B8;background:var(--surf)}body{font-family:Inter,sans-serif;background:var(--surf);color:var(--ink);-webkit-font-smoothing:antialiased}body:has(app-login),body:has(app-dpp-public){background:var(--ink)}.auth-wrap{display:flex;flex-direction:column;align-items:center;width:100%;min-height:100vh;padding:24px 16px;background:var(--ink);position:relative;overflow:hidden;animation:fadeUp .45s ease both}.auth-wrap:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 80%,rgba(184,169,106,.06) 0%,transparent 70%),radial-gradient(ellipse 60% 50% at 80% 20%,rgba(184,169,106,.04) 0%,transparent 70%);pointer-events:none}.auth-wrap:after{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.auth-logo{font-family:EB Garamond,serif;font-size:28px;color:#f5f0e8;letter-spacing:1.5px;margin-bottom:6px;text-decoration:none;display:block;text-align:center;position:relative;z-index:1}.auth-logo span{color:var(--gold)}.auth-tagline{font-size:11px;letter-spacing:2px;color:#f5f0e859;text-transform:uppercase;text-align:center;margin-bottom:32px;position:relative;z-index:1}.auth-box{background:var(--surf);border-radius:var(--r3);padding:36px 40px 40px;width:100%;max-width:400px;box-shadow:0 32px 80px #00000073,0 0 0 .5px #ffffff0f;position:relative;z-index:1}.auth-box-title{font-family:EB Garamond,serif;font-size:20px;font-weight:400;color:var(--ink);margin-bottom:4px}.auth-box-sub{font-size:12px;color:var(--ink3);margin-bottom:24px;line-height:1.5}.auth-footer{margin-top:22px;font-size:12px;color:var(--ink3);text-align:center;position:relative;z-index:1}.auth-footer a{color:var(--gold-d);text-decoration:none;font-weight:500;transition:color .15s}.auth-footer a:hover{color:var(--gold)}.auth-legal{margin-top:28px;font-size:10px;color:#f5f0e833;text-align:center;line-height:1.7;position:relative;z-index:1}.auth-legal a{color:#f5f0e859;text-decoration:none}.auth-legal a:hover{color:#f5f0e899}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;background:var(--ink);position:sticky;top:0;z-index:100;flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:14px}.topbar-right{display:flex;align-items:center;gap:10px}.logo{font-family:EB Garamond,serif;font-size:20px;color:#f5f0e8;letter-spacing:1px;text-decoration:none}.logo span{color:var(--gold)}.brand-badge{font-size:11px;padding:4px 12px;border-radius:20px;background:#ffffff1a;color:#d0ccc0}.user-badge{font-size:11px;padding:4px 12px;border-radius:20px;background:#b8a96a59;color:#1c1c1a}.logout-btn{font-size:11px;padding:4px 12px;border-radius:20px;background:transparent;border:.5px solid rgba(255,255,255,.2);color:#ffffff80;cursor:pointer;transition:.15s}.logout-btn i{font-size:12px;vertical-align:-1px}.logout-btn:hover{background:#ffffff14;color:#f5f0e8}.theme-toggle{display:flex;align-items:center;background:#ffffff14;border-radius:20px;padding:3px;gap:2px}.theme-btn{font-size:11px;padding:3px 10px;border-radius:16px;border:none;cursor:pointer;font-family:Inter,sans-serif;font-weight:500;transition:all .2s;background:transparent;color:#f5f0e873}.theme-btn.active{background:#f5f0e8;color:#1c1c1a}.app-body{display:flex;flex:1;overflow:hidden}.sidebar{width:200px;flex-shrink:0;background:var(--white);border-right:.5px solid var(--bdr);display:flex;flex-direction:column;padding:16px 0;overflow-y:auto}.sidebar-section{font-size:9px;letter-spacing:2px;color:var(--ink3);font-weight:500;padding:12px 20px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 20px;font-size:13px;color:var(--ink2);cursor:pointer;border-left:2px solid transparent;transition:all .15s;background:none;width:100%;text-align:left;border-top:none;border-right:none;border-bottom:none}.nav-item i{font-size:16px;color:var(--ink3)}.nav-item:hover{background:var(--surf2);color:var(--ink)}.nav-item.active{background:var(--surf2);color:var(--ink);font-weight:500;border-left-color:var(--gold)}.nav-item.active i{color:var(--gold-d)}.nav-badge{margin-left:auto;font-size:10px;padding:1px 6px;border-radius:20px;background:var(--warn-l);color:var(--warn)}.sidebar-overlay{display:none;position:fixed;inset:56px 0 0;background:#00000059;z-index:199}.main{flex:1;overflow-y:auto;padding:24px}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;color:#f5f0e8;font-size:20px;align-items:center}.card{background:var(--white);border:.5px solid var(--bdr);border-radius:var(--r2);padding:20px}.card+.card{margin-top:14px}.card-title{font-size:10px;letter-spacing:1.8px;color:var(--gold-d);font-weight:500;margin-bottom:16px}.page-header{margin-bottom:20px}.page-title{font-family:EB Garamond,serif;font-size:24px;font-weight:400;color:var(--ink);margin-bottom:4px}.page-sub{font-size:13px;color:var(--ink3)}.page-actions{display:flex;gap:8px;margin-top:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.kpi{background:var(--surf2);border-radius:var(--r);padding:13px 15px}.kl{font-size:10px;letter-spacing:1.2px;color:var(--ink3);margin-bottom:7px}.kv{font-size:20px;font-weight:500;color:var(--ink);line-height:1}.ks{font-size:11px;margin-top:5px}.g{color:var(--ok)}.w{color:var(--warn)}.r{color:var(--danger)}.m{color:var(--ink3)}.form-group{margin-bottom:14px}.form-label{font-size:11px;font-weight:500;color:var(--ink2);margin-bottom:5px;display:block;letter-spacing:.3px}.form-input{width:100%;font-size:13px;padding:9px 12px;border:.5px solid var(--bdr2);border-radius:var(--r);background:var(--white);color:var(--ink);font-family:Inter,sans-serif;outline:none;transition:border-color .15s;-webkit-appearance:none;appearance:none}.form-input:focus{border-color:var(--gold)}.form-input::placeholder{color:var(--ink3)}select.form-input{cursor:pointer}textarea.form-input{resize:vertical;min-height:80px;line-height:1.5}.btn{font-size:13px;padding:9px 18px;border-radius:var(--r);border:none;cursor:pointer;font-family:Inter,sans-serif;display:inline-flex;align-items:center;gap:7px;transition:all .15s;font-weight:500;-webkit-appearance:none;appearance:none}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--ink-on)}.btn-primary:hover:not(:disabled){opacity:.85}.btn-gold{background:var(--gold);color:var(--ink)}.btn-gold:hover:not(:disabled){opacity:.85}.btn-ghost{background:transparent;color:var(--ink);border:.5px solid var(--bdr2)}.btn-ghost:hover:not(:disabled){background:var(--surf2)}.btn-danger{background:var(--danger-l);color:var(--danger)}.btn-sm{font-size:12px;padding:6px 13px}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block;flex-shrink:0}.spinner-dark{border-color:#00000026;border-top-color:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg,var(--surf2) 25%,var(--bdr) 50%,var(--surf2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pill{font-size:10px;padding:3px 9px;border-radius:20px;font-weight:500}.p-ok{background:var(--ok-l);color:var(--ok-d)}.p-w{background:var(--warn-l);color:var(--warn)}.p-r{background:var(--danger-l);color:var(--danger)}.p-n{background:var(--surf2);color:var(--ink3)}.p-pend{background:#e6f1fb;color:#185fa5}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.tag{font-size:10px;padding:2px 8px;border-radius:20px;border:.5px solid}.tok{background:var(--ok-l);color:var(--ok-d);border-color:#9fe1cb}.tgold{background:var(--warn-l);color:#633806;border-color:#fac775}.tgray{background:var(--surf2);color:var(--ink3);border-color:var(--bdr)}.alert{font-size:12px;padding:10px 12px;border-radius:var(--r);display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;line-height:1.5}.alert i{font-size:14px;flex-shrink:0;margin-top:1px}.alert-error{background:var(--danger-l);color:var(--danger);border:.5px solid rgba(163,45,45,.2)}.alert-ok{background:var(--ok-l);color:var(--ok-d);border:.5px solid rgba(29,158,117,.2)}.alert-warn{background:#faeeda;color:#7a4a08;border:.5px solid rgba(186,117,23,.2)}.tbl{width:100%;border-collapse:collapse;font-size:12px}.tbl th{text-align:left;font-size:10px;letter-spacing:1px;color:var(--ink3);font-weight:500;padding:0 10px 10px;border-bottom:.5px solid var(--bdr)}.tbl td{padding:10px;border-bottom:.5px solid var(--bdr);color:var(--ink2);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--surf2)}.tl{position:relative;padding-left:22px}.tl-spine{position:absolute;left:7px;top:12px;bottom:12px;width:1px;background:var(--bdr)}.tl-node{position:relative;margin-bottom:20px}.tl-node:last-child{margin-bottom:0}.tl-dot{position:absolute;left:-18px;top:4px;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--gold);background:var(--white)}.tl-dot.verified{background:var(--gold)}.tl-tier{font-size:9px;letter-spacing:1.5px;color:var(--gold-d);font-weight:500;margin-bottom:2px}.tl-name{font-size:13px;font-weight:500;margin-bottom:1px}.tl-place{font-size:11px;color:var(--ink3);display:flex;align-items:center;gap:4px;margin-bottom:5px}.tl-desc{font-size:11px;color:var(--ink2);line-height:1.55}.tl-hash{font-family:monospace;font-size:9px;color:var(--ink3);opacity:.6;margin-top:5px}.tl-certs{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.cert-chip{font-size:9px;padding:2px 8px;border-radius:20px;background:var(--ok-l);color:var(--ok-d);border:.5px solid #9FE1CB}.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.bar-lbl{font-size:11px;color:var(--ink2);min-width:110px}.bar-track{flex:1;height:5px;background:var(--surf2);border-radius:3px;overflow:hidden}.bar-fill{height:100%;border-radius:3px;background:var(--gold);transition:width .6s ease}.bar-val{font-size:11px;color:var(--ink3);min-width:44px;text-align:right}.ai-box{background:var(--surf2);border-left:2px solid var(--gold);padding:12px 14px;border-radius:0 var(--r) var(--r) 0;margin-top:12px}.ai-tag{font-size:9px;letter-spacing:1.5px;color:var(--gold-d);font-weight:500;margin-bottom:5px;display:flex;align-items:center;gap:5px}.ai-txt{font-size:12px;color:var(--ink2);line-height:1.6}.modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:500;display:flex;align-items:center;justify-content:center}.modal{background:var(--white);border-radius:var(--r3);padding:28px;width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;position:relative}.modal-title{font-size:16px;font-weight:500;margin-bottom:18px;color:var(--ink)}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;font-size:20px;color:var(--ink3)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:.5px solid var(--bdr)}.product-selector{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.product-btn{font-size:12px;padding:6px 14px;border-radius:var(--r);border:.5px solid var(--bdr2);background:var(--white);color:var(--ink2);cursor:pointer;transition:.15s;display:flex;align-items:center;gap:6px}.product-btn.active{background:var(--ink);color:var(--ink-on);border-color:var(--ink)}.product-btn:hover:not(.active){background:var(--surf2)}.input-wrap{position:relative}.input-wrap .form-input{padding-right:40px}.input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ink3);font-size:16px;cursor:pointer;background:none;border:none;padding:0;display:flex;align-items:center;transition:color .15s}.input-icon:hover{color:var(--ink2)}.form-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.check-label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink2);cursor:pointer;-webkit-user-select:none;user-select:none}.check-label input[type=checkbox]{appearance:none;width:14px;height:14px;border:.5px solid var(--bdr2);border-radius:3px;background:var(--white);cursor:pointer;position:relative;flex-shrink:0;transition:background .15s,border-color .15s}.check-label input[type=checkbox]:checked{background:var(--ink);border-color:var(--ink)}.check-label input[type=checkbox]:checked:after{content:"";position:absolute;left:3px;top:1px;width:6px;height:9px;border:1.5px solid var(--ink-on);border-top:none;border-left:none;transform:rotate(40deg)}.link-sm{font-size:12px;color:var(--gold-d);text-decoration:none;transition:color .15s}.link-sm:hover{color:var(--gold)}.audit-row{display:flex;gap:12px;padding:10px 0;border-bottom:.5px solid var(--bdr)}.audit-row:last-child{border-bottom:none}.audit-ts{font-family:monospace;font-size:10px;color:var(--ink3);min-width:100px;padding-top:1px;flex-shrink:0}.audit-act{font-weight:500;font-size:12px;margin-bottom:2px}.audit-det{font-family:monospace;font-size:10px;color:var(--ink3)}.abadge{font-size:9px;padding:2px 7px;border-radius:20px;margin-right:5px}.ab-c{background:var(--ok-l);color:var(--ok-d)}.ab-a{background:#e6f1fb;color:#185fa5}.ab-v{background:var(--warn-l);color:#7a4a08}.map-container{background:var(--surf2);border-radius:var(--r);border:.5px solid var(--bdr);overflow:hidden}.map-header{padding:10px 14px;border-bottom:.5px solid var(--bdr);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.map-legend{display:flex;gap:12px}.leg-i{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--ink3)}.leg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.map-scope-toggle{display:flex;align-items:center;background:var(--surf2);border:.5px solid var(--bdr2);border-radius:20px;padding:2px;gap:1px}.map-scope-btn{font-size:11px;padding:3px 11px;border-radius:16px;border:none;cursor:pointer;font-family:Inter,sans-serif;font-weight:500;transition:all .18s;background:transparent;color:var(--ink3)}.map-scope-btn.active{background:var(--ink);color:var(--ink-on)}.story-text{font-family:EB Garamond,serif;font-size:14px;line-height:1.9;color:var(--ink2);padding:18px;background:var(--surf2);border-radius:var(--r);min-height:80px}.lang-row{display:flex;gap:6px;margin-bottom:12px}.lb{font-size:11px;padding:4px 12px;border-radius:20px;border:.5px solid var(--bdr);background:transparent;color:var(--ink3);cursor:pointer;transition:.15s}.lb.on{background:var(--ink);color:var(--ink-on);border-color:var(--ink)}.error-banner{padding:16px 20px;background:var(--danger-l);color:var(--danger);border-radius:var(--r);font-size:13px;margin-top:14px;display:flex;align-items:center;gap:8px}.dpp-hero{background:var(--ink);position:relative;overflow:hidden}.dpp-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.dpp-hero:before{content:"";position:absolute;bottom:-60px;left:-40px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(184,169,106,.12) 0%,transparent 70%);pointer-events:none}.hero-inner{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:28px 20px 24px}.hero-brand-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.hero-logo{font-family:EB Garamond,serif;font-size:17px;color:#f5f0e873;letter-spacing:1px;text-decoration:none}.hero-logo span{color:var(--gold)}.verified-badge{display:flex;align-items:center;gap:5px;font-size:10px;letter-spacing:1px;color:var(--gold);border:.5px solid rgba(184,169,106,.4);padding:4px 10px;border-radius:20px;background:#b8a96a14}.hero-category{font-size:10px;letter-spacing:2px;color:#f5f0e859;text-transform:uppercase;margin-bottom:8px}.hero-product-name{font-family:EB Garamond,serif;font-size:32px;font-weight:400;color:#f5f0e8;line-height:1.15;margin-bottom:6px}.hero-brand-name{font-size:13px;color:#f5f0e88c;margin-bottom:18px}.hero-pills{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}.hero-pill{font-size:10px;padding:3px 10px;border-radius:20px;border:.5px solid rgba(255,255,255,.12);color:#f5f0e880;font-family:monospace;letter-spacing:.5px}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff0f;border-radius:var(--r);overflow:hidden}.hero-stat{background:#ffffff08;padding:12px 14px;text-align:center}.hero-stat-v{font-size:18px;font-weight:500;color:#f5f0e8;line-height:1;margin-bottom:4px}.hero-stat-v.gold{color:var(--gold)}.hero-stat-v.green{color:#4ecfa0}.hero-stat-l{font-size:9px;letter-spacing:1px;color:#f5f0e859;text-transform:uppercase}.dpp-body{max-width:var(--max);margin:0 auto;padding:24px 20px 60px}.dpp-footer{background:var(--ink);padding:28px 20px;text-align:center}.footer-logo{font-family:EB Garamond,serif;font-size:20px;color:#f5f0e866;letter-spacing:1px;margin-bottom:8px}.footer-logo span{color:var(--gold)}.footer-sub{font-size:11px;color:#f5f0e833;line-height:1.7}.footer-sub a{color:#f5f0e859;text-decoration:none}.section{margin-bottom:20px;background:var(--white);border:.5px solid var(--bdr);border-radius:var(--r2);overflow:hidden;animation:fadeUp .4s ease both}.section-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:.5px solid var(--bdr);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.section-header:hover{background:var(--surf2)}.section-icon{width:30px;height:30px;border-radius:8px;background:var(--surf2);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--gold-d);flex-shrink:0}.section-title{font-size:13px;font-weight:500;color:var(--ink);flex:1}.section-sub{font-size:11px;color:var(--ink3)}.section-chevron{font-size:16px;color:var(--ink3);transition:transform .2s}.section.collapsed .section-chevron{transform:rotate(-90deg)}.section-body{padding:18px}.section.collapsed .section-body{display:none}.material-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:.5px solid var(--bdr)}.material-row:last-child{border-bottom:none}.material-name{font-size:13px;font-weight:500}.material-detail{font-size:11px;color:var(--ink3);margin-top:2px}.material-pct{font-size:14px;font-weight:500;color:var(--gold-d);min-width:44px;text-align:right}.material-bar-wrap{width:100%;height:4px;background:var(--surf2);border-radius:2px;margin-top:12px;overflow:hidden;display:flex;gap:2px}.material-bar-seg{height:100%;border-radius:2px;transition:width .6s ease}.cert-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:.5px solid var(--bdr)}.cert-row:last-child{border-bottom:none}.cert-icon{width:34px;height:34px;border-radius:8px;background:var(--ok-l);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.cert-name{font-size:13px;font-weight:500}.cert-issuer{font-size:11px;color:var(--ink3);margin-top:1px}.cert-right{margin-left:auto;text-align:right}.cert-status{font-size:10px;padding:3px 9px;border-radius:20px;font-weight:500}.cs-ok{background:var(--ok-l);color:var(--ok-d)}.cs-warn{background:var(--warn-l);color:var(--warn)}.cert-exp{font-size:10px;color:var(--ink3);margin-top:3px}.co2-big{text-align:center;padding:8px 0 20px}.co2-number{font-size:48px;font-weight:500;color:var(--ok);line-height:1;margin-bottom:4px}.co2-unit{font-size:14px;color:var(--ink3)}.co2-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:4px 12px;border-radius:20px;background:var(--ok-l);color:var(--ok-d);margin-top:10px}.story-lang-row{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.lang-btn{font-size:11px;padding:4px 13px;border-radius:20px;border:.5px solid var(--bdr);background:transparent;color:var(--ink3);cursor:pointer;transition:.15s;font-family:Inter,sans-serif}.lang-btn.active{background:var(--ink);color:var(--ink-on);border-color:var(--ink)}.chain-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:.5px solid var(--bdr)}.chain-row:last-child{border-bottom:none}.chain-label{font-size:10px;letter-spacing:1px;color:var(--ink3);min-width:90px;padding-top:1px;flex-shrink:0}.chain-val{font-family:monospace;font-size:11px;color:var(--ink2);word-break:break-all;line-height:1.5}.chain-val.ok{color:var(--ok-d);font-family:Inter,sans-serif;font-size:12px}.verify-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:8px 16px;border-radius:var(--r);border:.5px solid var(--bdr2);background:var(--white);color:var(--ink2);cursor:pointer;margin-top:14px;text-decoration:none;transition:.15s;font-family:Inter,sans-serif}.verify-btn:hover{background:var(--surf2)}.error-state{max-width:var(--max);margin:60px auto;padding:20px;text-align:center}.error-state i{font-size:40px;color:var(--ink3);margin-bottom:16px;display:block}.error-title{font-family:EB Garamond,serif;font-size:22px;margin-bottom:8px}.error-sub{font-size:13px;color:var(--ink3);line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bdr2);border-radius:3px}@media(max-width:768px){.hamburger{display:flex;align-items:center}.brand-badge,.user-badge{display:none}.sidebar{position:fixed;top:56px;left:0;bottom:0;z-index:200;transform:translate(-100%);transition:transform .25s ease;box-shadow:4px 0 20px #0000001f}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.main{padding:16px}.kpis{grid-template-columns:1fr 1fr}.two-col,.three-col{grid-template-columns:1fr}.hero-product-name{font-size:26px}.dpp-body{padding:16px 14px 50px}}
