:root{--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 22px;--sp-6: 28px;--h-ctl: 42px;--h-ctl-sm: 32px;--font-ui: Lato, "Segoe UI", system-ui, -apple-system, Arial, sans-serif}:root,:root[data-theme=light]{color-scheme:light;--navy: #0f1a33;--navy-2: #1a2a4a;--on-navy: #e7ecf6;--on-navy-mute: #9aa8c4;--navy-line: rgba(255,255,255,.1);--strong: #0f1a33;--strong-ink: #ffffff;--focus: #a86a00;--bg: #f3f5f9;--panel: #ffffff;--panel-2: #f3f5f9;--input-bg: #ffffff;--ink: #0f1a33;--muted: #5a6886;--line: #dde3ec;--brand: #107262;--brand-ink: #ffffff;--brand-hover: #0c5f52;--brand-soft: #e3f3ef;--gold: #e9b95a;--gold-soft: #fbf0d7;--gold-ink: #7a5a12;--danger: #b4233c;--danger-soft: #fdecef;--warn-bg: #fff7e6;--warn-line: #f0cf8c;--warn-ink: #6b4a0a;--info: #2457c5;--info-bg: #eaf1ff;--info-line: #b9cffa;--ok: #0f7a5c;--ok-bg: #e1f5ee;--ok-line: #a9dfcc;--accent2: #6a3fb5;--accent2-bg: #f1e9ff;--accent2-line: #d3bff5;--bad: #b4233c;--bad-bg: #fdeaec;--bad-line: #f1b3bb;--shadow-1: 0 1px 2px rgba(15,26,51,.06);--shadow-2: 0 10px 30px rgba(15,26,51,.14);--shadow-3: 0 24px 60px rgba(15,26,51,.28)}:root[data-theme=dark]{color-scheme:dark;--navy: #0b1017;--navy-2: #151c27;--on-navy: #e8ecf3;--on-navy-mute: #8794a8;--navy-line: rgba(255,255,255,.08);--strong: #e8ecf3;--strong-ink: #0f141c;--focus: #e9b95a;--bg: #0f141c;--panel: #171d27;--panel-2: #1e2530;--input-bg: #10151d;--ink: #e8ecf3;--muted: #98a4b8;--line: #2a3341;--brand: #2bb59d;--brand-ink: #06231e;--brand-hover: #4fcbb5;--brand-soft: rgba(43,181,157,.16);--gold: #e9b95a;--gold-soft: rgba(233,185,90,.16);--gold-ink: #f3d58d;--danger: #f5737d;--danger-soft: rgba(245,115,125,.14);--warn-bg: rgba(233,185,90,.14);--warn-line: #5b4a22;--warn-ink: #f3d58d;--info: #7aa7ff;--info-bg: rgba(122,167,255,.14);--info-line: rgba(122,167,255,.38);--ok: #34d3a6;--ok-bg: rgba(52,211,166,.14);--ok-line: rgba(52,211,166,.38);--accent2: #b794f6;--accent2-bg: rgba(183,148,246,.14);--accent2-line: rgba(183,148,246,.38);--bad: #f5737d;--bad-bg: rgba(245,115,125,.14);--bad-line: rgba(245,115,125,.4);--shadow-1: 0 1px 2px rgba(0,0,0,.4);--shadow-2: 0 10px 30px rgba(0,0,0,.45);--shadow-3: 0 24px 60px rgba(0,0,0,.6)}:root[data-theme=alt]{color-scheme:light;--navy: #23262b;--navy-2: #2f3238;--on-navy: #ecebe8;--on-navy-mute: #a3a6ac;--navy-line: rgba(255,255,255,.1);--strong: #23262b;--strong-ink: #ffffff;--focus: #7d5f0e;--bg: #eceae6;--panel: #fbfaf8;--panel-2: #f2f0ec;--input-bg: #ffffff;--ink: #1f2226;--muted: #61656d;--line: #d9d6cf;--brand: #7d5f0e;--brand-ink: #ffffff;--brand-hover: #675009;--brand-soft: #f4ecd3;--gold: #d4a72c;--gold-soft: #f6ecce;--gold-ink: #6b5210;--danger: #b4233c;--danger-soft: #fbeaea;--warn-bg: #fff4d6;--warn-line: #e3c777;--warn-ink: #6b4f0a;--info: #2f5ea8;--info-bg: #e6edf8;--info-line: #b4c6e4;--ok: #2f6b3a;--ok-bg: #e4f0e1;--ok-line: #b3d3ad;--accent2: #6a4aa0;--accent2-bg: #ece6f6;--accent2-line: #cbbde6;--bad: #b4233c;--bad-bg: #fbeaea;--bad-line: #e9b3b3;--shadow-1: 0 1px 2px rgba(31,34,38,.08);--shadow-2: 0 10px 30px rgba(31,34,38,.16);--shadow-3: 0 24px 60px rgba(31,34,38,.3)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:14.5px/1.5 var(--font-ui)}app-root,app-import,app-review,app-export,app-designer,cv-sheet,cv-page{display:block}h1,h2,h3{margin:0;letter-spacing:-.02em}a{color:var(--brand)}button,.btn{font:inherit;font-weight:700;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--r-sm);padding:0 16px;min-height:var(--h-ctl);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:border-color .15s,background .15s,box-shadow .15s}button:hover:not(:disabled),.btn:hover{border-color:var(--brand)}button.primary,.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}button.primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}button.dark,.btn.dark{background:var(--strong);color:var(--strong-ink);border-color:var(--strong)}button.danger,.btn.danger{color:var(--danger)}button.danger.solid{background:var(--danger);border-color:var(--danger);color:var(--strong-ink)}button:disabled{opacity:.5;cursor:not-allowed}button.sm,.btn.sm{padding:0 12px;min-height:var(--h-ctl-sm);font-size:12.5px}button.lg,.btn.lg{padding:0 22px;min-height:48px;font-size:15px}input,select,textarea{font:inherit;width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--input-bg);color:var(--ink)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select{min-height:var(--h-ctl)}textarea{min-height:84px}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand);outline:3px solid color-mix(in srgb,var(--brand) 28%,transparent);outline-offset:0}input[type=file]{padding:5px;min-height:var(--h-ctl)}input[type=file]::file-selector-button{font:inherit;font-weight:700;cursor:pointer;margin-right:10px;padding:0 14px;min-height:30px;border-radius:6px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink)}input[type=file]::file-selector-button:hover{border-color:var(--brand)}input[type=color]{padding:3px;min-height:var(--h-ctl);height:var(--h-ctl);cursor:pointer}input[type=checkbox],input[type=radio]{width:auto}input[type=range]{padding:0}textarea{resize:vertical}label.f{display:grid;gap:3px;font-size:12.5px;color:var(--muted);font-weight:700}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--shadow-1)}.muted{color:var(--muted)}.small{font-size:12.5px}.alert{padding:10px 12px;border-radius:var(--r-md);border:1px solid;font-size:13.5px}.alert.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}.alert.err{background:var(--bad-bg);border-color:var(--bad-line);color:color-mix(in srgb,var(--bad) 70%,var(--ink))}.alert.ok{background:var(--ok-bg);border-color:var(--ok-line);color:color-mix(in srgb,var(--ok) 70%,var(--ink))}.page-wrap{grid-template-columns:minmax(0,1fr);max-width:1240px;margin:0 auto;padding:var(--sp-6) var(--sp-6) 56px;display:grid;gap:var(--sp-5);align-content:start}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap}.page-head h1{font-size:28px;line-height:1.15}.page-head p{margin:4px 0 0;color:var(--muted)}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}.stats{display:grid;gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 22px}.stat b{display:block;font-size:30px;font-weight:900;line-height:1.2}.stat span{color:var(--muted);font-size:13.5px}.sec-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.sec-head h2{font-size:20px}.cards-grid{display:grid;gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr))}.pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 12px;border-radius:999px;background:var(--brand-soft);color:var(--brand);white-space:nowrap}.pill.gold{background:var(--gold-soft);color:var(--gold-ink)}.pill.gray{background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font:inherit;font-size:13px;font-weight:700;padding:5px 13px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted)}.chip.on{background:var(--strong);border-color:var(--strong);color:var(--strong-ink)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.empty{border:1px dashed var(--line);border-radius:var(--r-md);padding:36px 20px;text-align:center;color:var(--muted);background:var(--panel)}.skeleton{background:linear-gradient(90deg,var(--panel-2),color-mix(in srgb,var(--panel-2) 55%,var(--panel)),var(--panel-2));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:var(--r-md);min-height:120px}@keyframes sk{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:760px){.page-wrap{padding:var(--sp-4) var(--sp-4) 40px}.page-head h1{font-size:24px}}@page{size:A4;margin:0}@media print{html,body{background:#fff!important;margin:0!important;padding:0!important}.no-print{display:none!important}.print-reset{display:block!important;padding:0!important;margin:0!important;height:auto!important;overflow:visible!important;background:none!important;box-shadow:none!important;border:0!important;position:static!important;max-width:none!important}.sheet-outer{width:210mm!important;height:auto!important;margin:0!important;box-shadow:none!important;position:static!important}.sheet-scale{transform:none!important;position:static!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media print{.print-reset{min-height:0!important;grid-template-columns:none!important}}.auth-split{display:grid;grid-template-columns:1.05fr 1fr;min-height:calc(100vh - 56px);background:var(--panel)}.auth-brand{position:relative;overflow:hidden;color:#e9fbf8;padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:radial-gradient(120% 80% at 0% 0%,#1a3a5c 0,transparent 55%),radial-gradient(90% 70% at 100% 100%,#14806e55 0,transparent 60%),var(--navy)}.auth-logo{display:flex;align-items:center;gap:10px;font:900 18px/1 var(--font-ui);color:#fff;text-decoration:none}.auth-logo s{width:28px;height:28px;border-radius:8px;background:var(--gold);display:grid;place-items:center;text-decoration:none;color:#0b2d29;font-size:13px}.auth-brand h2{font-size:clamp(26px,3.2vw,40px);line-height:1.06;max-width:14ch;color:#fff;margin:0;letter-spacing:-.02em}.auth-brand ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:var(--on-navy)}.auth-brand li:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:10px;vertical-align:middle}.auth-sheet{position:absolute;right:-18px;bottom:-34px;width:200px;aspect-ratio:210 / 297;background:#fff;border-radius:4px;transform:rotate(-5deg);box-shadow:0 30px 50px -20px #0009;display:grid;grid-template-columns:34% 1fr;overflow:hidden}.auth-sheet:before{content:"";background:#0f766e}.auth-sheet:after{content:"";margin:14px 10px;background:linear-gradient(#0d1f1d,#0d1f1d) 0 0 / 70% 6px no-repeat,linear-gradient(#cfdad8,#cfdad8) 0 16px / 100% 3px no-repeat,linear-gradient(#cfdad8,#cfdad8) 0 24px / 88% 3px no-repeat,linear-gradient(#0f766e,#0f766e) 0 44px / 46% 4px no-repeat,linear-gradient(#cfdad8,#cfdad8) 0 56px / 100% 3px no-repeat,linear-gradient(#cfdad8,#cfdad8) 0 64px / 92% 3px no-repeat,linear-gradient(#0f766e,#0f766e) 0 92px / 46% 4px no-repeat,linear-gradient(#cfdad8,#cfdad8) 0 104px / 96% 3px no-repeat}.auth-sheet i{position:absolute;left:6%;top:9%;width:22%;aspect-ratio:1;border-radius:50%;background:#99f6e4;border:2px solid #fff}.auth-form{padding:40px clamp(20px,6vw,72px);display:flex;flex-direction:column;justify-content:center;gap:16px;max-width:560px;width:100%;margin:0 auto}.auth-form h1{font-size:28px;letter-spacing:-.01em}.auth-sso{display:grid;gap:10px}.auth-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:700 14.5px var(--font-ui);padding:0 14px;width:100%;cursor:pointer}.auth-btn.pri{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.auth-btn.li{background:#0a66c2;border-color:#0a66c2;color:#fff}.auth-btn.li b{background:#fff;color:#0a66c2;border-radius:3px;font:700 12px sans-serif;padding:1px 3px}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12.5px}.auth-or:before,.auth-or:after{content:"";height:1px;background:var(--line);flex:1}.auth-form label.f{font-size:13px}.auth-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.auth-form a,.lnk{color:var(--brand);font-weight:600;text-decoration:none}.auth-form a:hover{text-decoration:underline}.pw-wrap{position:relative}.pw-wrap button{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);font-size:12px;padding:4px 8px}.meter{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:6px}.meter i{height:5px;border-radius:3px;background:var(--line)}.meter i.on{background:var(--brand)}.g-slot{min-height:44px;display:flex;justify-content:center}@media(max-width:860px){.auth-split{grid-template-columns:1fr}.auth-brand{display:none}}.shell .menu-back{position:fixed;inset:0;z-index:1}.shell .menu{position:absolute;right:0;top:calc(100% + 8px);z-index:2;min-width:230px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:6px;display:grid}.shell .menu-id{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px;display:grid;font-size:13px}.shell .menu-id span{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis}.shell .menu a,.shell .menu button{text-align:left;justify-content:flex-start;padding:8px 10px;border-radius:var(--r-sm);border:0;background:none;color:var(--ink);text-decoration:none;font-weight:700;font-size:13.5px}.shell .menu a:hover,.shell .menu button:hover{background:var(--bg)}.shell .menu .out{color:var(--danger)}.shell .foot{height:44px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 28px;background:var(--panel);border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.shell .sys{color:var(--brand);font-weight:700}.shell .sys:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:7px;vertical-align:1px}.shell .sys.off{color:var(--danger)}.acts-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.acts-2>button,.acts-2>.btn,.acts-2>label.btn{width:100%;min-width:0}.acts-2>.full,.acts-2>:only-child{grid-column:1 / -1}.ic{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.t-blue,.t-green,.t-purple,.t-red,.t-gray{border-radius:8px;font-weight:700}.t-blue{background:var(--info-bg);border-color:var(--info-line);color:var(--info)}.t-green{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok)}.t-purple{background:var(--accent2-bg);border-color:var(--accent2-line);color:var(--accent2)}.t-red{background:var(--bad-bg);border-color:var(--bad-line);color:var(--bad)}.t-gray{background:var(--panel-2);border-color:var(--line);color:var(--muted)}.t-blue:hover:not(:disabled),.t-green:hover:not(:disabled),.t-purple:hover:not(:disabled),.t-red:hover:not(:disabled),.t-gray:hover:not(:disabled){filter:brightness(.97);border-color:currentColor}.row,[slot=actions]{gap:8px}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}@media print{:root[data-theme]{color-scheme:light;--bg: #ffffff;--panel: #ffffff;--panel-2: #f3f5f9;--ink: #0f1a33;--muted: #5a6886;--line: #dde3ec}}cv-page,cv-thumb,.sheet-outer{color-scheme:light}.tabs:not(.seg){display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.tabs:not(.seg)>button,.tabs:not(.seg)>.tab{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;padding:0 16px;min-height:var(--h-ctl);color:var(--muted);font-weight:700;margin-bottom:-1px}.tabs:not(.seg)>button:hover:not(:disabled):not(.on){color:var(--ink);border-bottom-color:var(--line);background:none}.tabs:not(.seg)>button.on,.tabs:not(.seg)>.tab.on{color:var(--ink);border-bottom-color:var(--gold)}.tabs.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:3px}.tabs.seg>button{border:0;background:transparent;min-height:var(--h-ctl-sm);padding:0 6px;font-size:12.5px;border-radius:8px;color:var(--muted)}.tabs.seg>button.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-1)}
