.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.landing-shell{min-height:100vh;background:var(--bg);color:var(--text-1);display:flex;flex-direction:column;font-family:Outfit,sans-serif}.landing-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:20px;padding:14px 32px;background:#fcfaf7eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border, rgba(0,0,0,.06))}.landing-nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-1);font-weight:700;font-size:15px;letter-spacing:-.01em}.landing-nav-brand img{width:28px;height:28px;border-radius:6px}.landing-nav-links{display:flex;gap:22px;margin-left:28px;flex:1}.landing-nav-links a{color:var(--text-2, #555);text-decoration:none;font-size:13px;font-weight:500;transition:color .15s ease}.landing-nav-links a:hover{color:var(--accent, #1B1B1B)}.landing-nav-actions{display:flex;align-items:center;gap:12px}.landing-locale{display:inline-flex;border-radius:999px;padding:2px;border:1px solid var(--border, rgba(0,0,0,.1))}.landing-locale button{background:none;border:none;font-size:11px;padding:4px 10px;border-radius:999px;color:var(--text-3, #888);cursor:pointer;font-family:inherit}.landing-locale button.active{background:var(--accent, #1B1B1B);color:#fff}.landing-nav-signin{color:var(--text-2);text-decoration:none;font-size:13px;font-weight:500}.landing-nav-signin:hover{color:var(--accent, #1B1B1B)}.landing-nav-cta{background:var(--accent, #1B1B1B);color:#fff;padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .15s ease}.landing-nav-cta:hover{opacity:.85}.landing-nav-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:38px;height:38px;background:transparent;border:1px solid var(--border, rgba(0,0,0,.12));border-radius:8px;cursor:pointer;padding:0}.landing-nav-hamburger span{display:block;width:18px;height:1.5px;background:var(--accent, #1B1B1B);border-radius:2px;transition:transform .2s ease,opacity .2s ease}.landing-nav-hamburger[aria-expanded=true] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.landing-nav-hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.landing-nav-hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.landing-nav-drawer{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg, #FAF3F0);opacity:0;pointer-events:none;transition:opacity .18s ease;flex-direction:column}.landing-nav-drawer.open{opacity:1;pointer-events:auto}.landing-nav-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--border, rgba(0,0,0,.08));background:var(--bg, #FAF3F0);flex-shrink:0}.landing-nav-drawer-close{width:38px;height:38px;border-radius:8px;border:1px solid var(--border, rgba(0,0,0,.12));background:transparent;font-size:22px;line-height:1;cursor:pointer;color:var(--accent, #1B1B1B);font-family:inherit}.landing-nav-drawer-body{flex:1;overflow-y:auto;padding:18px 14px 32px;display:flex;flex-direction:column;gap:4px;font-family:Outfit,sans-serif}.landing-nav-drawer-body>a{display:block;padding:16px 18px;text-decoration:none;color:var(--text-1);font-size:17px;font-weight:500;border-radius:10px;transition:background .12s ease}.landing-nav-drawer-body>a:hover,.landing-nav-drawer-body>a:active{background:var(--bg-elevated, #f5f2ed)}.landing-nav-drawer-cta{background:var(--accent, #1B1B1B)!important;color:#fff!important;text-align:center;font-weight:600!important;margin-top:8px}.landing-nav-drawer-divider{height:1px;background:var(--border, rgba(0,0,0,.08));margin:14px 18px}.landing-nav-drawer-locale{display:flex;gap:10px;padding:6px 18px}.landing-nav-drawer-locale button{flex:1;background:none;border:1px solid var(--border, rgba(0,0,0,.12));padding:8px 10px;border-radius:8px;font-size:13px;color:var(--text-2);cursor:pointer;font-family:inherit}.landing-nav-drawer-locale button.active{background:var(--accent, #1B1B1B);color:#fff;border-color:var(--accent, #1B1B1B)}.landing-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3, #888);margin-bottom:18px}.landing-eyebrow-dash{display:inline-block;width:28px;height:1px;background:var(--teal-dark, #B8869A);opacity:.6}.landing-eyebrow-dark{color:#ffffffa6}.landing-eyebrow-dark .landing-eyebrow-dash{background:#ffffff80}.landing-hero{max-width:1200px;width:100%;margin:0 auto;padding:72px 32px 80px;display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}.landing-hero-text{min-width:0}.landing-hero-headline{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.028em;margin:0 0 22px}.landing-hero-lede{font-size:17px;line-height:1.6;color:var(--text-2, #555);max-width:520px;margin:0 0 32px}.landing-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.landing-cta-primary{display:inline-block;padding:13px 22px;border-radius:10px;background:var(--accent, #1B1B1B);color:#fff;font-size:14px;font-weight:600;letter-spacing:.01em;text-decoration:none;transition:opacity .15s ease,transform .15s ease}.landing-cta-primary:hover{opacity:.9;transform:translateY(-1px)}.landing-cta-secondary{display:inline-block;padding:13px 18px;border-radius:10px;background:transparent;color:var(--accent, #1B1B1B);font-size:14px;font-weight:600;text-decoration:none;border:1px solid transparent;transition:border-color .15s ease}.landing-cta-secondary:hover{border-color:var(--accent, #1B1B1B)}.landing-split{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:16px;overflow:hidden;background:var(--bg-elevated, #f5f2ed);border:1px solid var(--border, rgba(0,0,0,.08));box-shadow:0 8px 30px #0000000f}.landing-split-panel{position:relative;aspect-ratio:3 / 4;background:#faf8f4}.landing-split-panel img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top}.landing-split-label{position:absolute;top:14px;left:14px;z-index:3;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;background:#ffffffd9;padding:4px 10px;border-radius:999px;color:var(--text-1);font-weight:600}.landing-split-after .landing-split-label{background:#2de36a2e;color:#127a3b}.landing-split-anno{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.landing-split-divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--teal-dark, #B8869A);z-index:4;display:flex;align-items:center;justify-content:center}.landing-split-delta{position:absolute;background:#fff;border:1px solid var(--teal-dark, #B8869A);border-radius:999px;padding:8px 14px;display:flex;flex-direction:column;align-items:center;gap:1px;box-shadow:0 4px 16px #b8869a4d;white-space:nowrap}.landing-split-delta-num{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700;color:var(--teal-dark, #B8869A);letter-spacing:-.02em}.landing-split-delta-label{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3, #888)}.landing-section{max-width:1100px;width:100%;margin:0 auto;padding:56px 32px}.landing-section-title{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0 0 36px;max-width:640px}.landing-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px dashed var(--border, rgba(0,0,0,.12));padding-top:32px}.landing-how-step{min-width:0}.landing-how-num{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;color:var(--teal-dark, #B8869A);letter-spacing:.12em;margin-bottom:10px}.landing-how-step h3{font-size:18px;font-weight:700;margin:0 0 8px}.landing-how-step p{font-size:14.5px;line-height:1.65;color:var(--text-2, #555);margin:0}.landing-feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.landing-feat-card{padding:24px 22px;border:1px solid var(--border, rgba(0,0,0,.08));border-radius:12px;background:var(--surface, #fff);transition:border-color .15s ease,transform .2s ease}.landing-feat-card:hover{border-color:var(--teal-dark, #B8869A);transform:translateY(-2px)}.landing-feat-num{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.16em;color:var(--teal-dark, #B8869A);margin-bottom:12px}.landing-feat-card h3{font-size:16px;font-weight:600;margin:0 0 8px}.landing-feat-card p{font-size:14px;line-height:1.6;color:var(--text-2, #555);margin:0}.landing-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:18px}.landing-pricing-card{position:relative;padding:24px 22px;border:1px solid var(--border, rgba(0,0,0,.1));border-radius:12px;background:var(--surface, #fff);text-align:left}.landing-pricing-card-popular{border-color:var(--teal-dark, #B8869A);box-shadow:0 4px 20px #b8869a26}.landing-pricing-flag{position:absolute;top:-10px;right:16px;background:var(--teal-dark, #B8869A);color:#fff;padding:3px 10px;border-radius:999px;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.landing-pricing-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3, #888);margin-bottom:8px}.landing-pricing-price{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--text-1)}.landing-pricing-unit{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-3, #888);margin-top:2px}.landing-pricing-cta-row{display:flex;justify-content:center;margin-top:8px}.landing-final{background:var(--accent, #1B1B1B);color:#fff;padding:80px 32px;margin-top:24px}.landing-final-inner{max-width:760px;margin:0 auto;text-align:center}.landing-final-title{font-size:36px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 16px;color:#fff}.landing-final-body{font-size:16px;line-height:1.6;color:#ffffffb3;max-width:480px;margin:0 auto 28px}.landing-cta-primary-invert{background:#fff;color:var(--accent, #1B1B1B)}@media (max-width: 880px){.landing-nav{padding:12px 18px;gap:12px;flex-wrap:nowrap}.landing-nav-links{display:none}.landing-nav-actions{margin-left:auto;gap:8px}.landing-locale,.landing-nav-signin,.landing-nav-cta{display:none}.landing-nav-hamburger,.landing-nav-drawer{display:flex}.landing-hero{grid-template-columns:1fr;padding:40px 20px 48px;gap:36px}.landing-hero-headline{font-size:36px}.landing-section{padding:40px 20px}.landing-section-title{font-size:26px}.landing-how-grid{grid-template-columns:1fr;gap:28px}.landing-feat-grid{grid-template-columns:1fr}.landing-final{padding:56px 20px}.landing-final-title{font-size:26px}}.legal-shell{min-height:100vh;background:var(--bg);color:var(--text-1);display:flex;flex-direction:column}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border, rgba(0,0,0,.08));background:var(--surface, #fff);position:sticky;top:0;z-index:5}.legal-header-left{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-1);font-weight:600;font-family:Outfit,sans-serif}.legal-header-left img{width:28px;height:28px;border-radius:6px}.legal-header-right{display:flex;align-items:center;gap:8px}.legal-locale-btn{border:1px solid var(--border, rgba(0,0,0,.12));background:transparent;color:var(--text-2, #555);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer;font-family:Outfit,sans-serif;transition:background .15s var(--ease, ease),color .15s var(--ease, ease)}.legal-locale-btn.active{background:var(--accent, #0fb5a8);color:#fff;border-color:var(--accent, #0fb5a8)}.legal-back-link{font-size:13px;color:var(--text-2, #555);text-decoration:none}.legal-back-link:hover{color:var(--accent, #0fb5a8)}.legal-article{max-width:760px;width:100%;margin:0 auto;padding:32px 20px 64px;font-family:Outfit,sans-serif;line-height:1.65;font-size:15px}.legal-article h1{font-size:28px;font-weight:700;margin:0 0 8px;letter-spacing:-.01em}.legal-article .legal-effective{color:var(--text-3, #888);font-size:13px;margin:0 0 28px}.legal-article h2{font-size:17px;font-weight:600;margin:28px 0 8px;letter-spacing:-.005em}.legal-article p{margin:0 0 12px;color:var(--text-1)}.legal-article a{color:var(--accent, #0fb5a8);text-decoration:underline}.legal-contact{margin-top:36px;padding:16px 18px;border-radius:12px;background:var(--surface-2, rgba(0,0,0,.03));border:1px solid var(--border, rgba(0,0,0,.06))}.legal-contact h2{margin-top:0}.legal-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3, #888);margin-bottom:18px}.legal-eyebrow-dash{display:inline-block;width:28px;height:1px;background:var(--teal-dark, #B8869A);opacity:.6}.legal-section-num{display:inline-block;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;color:var(--teal-dark, #B8869A);margin-right:12px;letter-spacing:.08em;vertical-align:1px}.about-article{max-width:880px}.about-headline{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;margin:0 0 18px;max-width:720px}.about-lede{font-size:17px;line-height:1.6;color:var(--text-2, #555);max-width:640px;margin:0 0 44px}.about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 40px;border-top:1px dashed var(--border, rgba(0,0,0,.12));padding-top:32px}.about-block{position:relative;padding-left:0}.about-block-num{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;color:var(--teal-dark, #B8869A);letter-spacing:.1em;margin-bottom:8px}.about-block h2{font-size:16px;font-weight:600;margin:0 0 8px;letter-spacing:-.005em}.about-block p{font-size:14.5px;line-height:1.65;color:var(--text-2, #555);margin:0}.about-entity{margin-top:56px;padding:32px 28px;background:var(--surface-2, rgba(232, 180, 192, .06));border:1px solid var(--border, rgba(0,0,0,.08));border-radius:14px;position:relative}.about-entity-mark{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px dashed var(--teal-dark, #B8869A)}.about-entity-mark>span:first-child{font-family:JetBrains Mono,monospace;font-size:22px;color:var(--teal-dark, #B8869A);font-weight:300;line-height:1}.about-entity-mark-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3, #888)}.about-entity-spec{margin:0;display:grid;gap:14px}.about-entity-spec>div{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:baseline}.about-entity-spec dt{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3, #888);margin:0}.about-entity-spec dd{font-family:Outfit,sans-serif;font-size:14px;margin:0;color:var(--text-1);font-weight:500}.about-entity-spec a{color:var(--accent, #1B1B1B);text-decoration:underline;text-decoration-color:var(--teal-dark, #B8869A);text-underline-offset:3px}.contact-article{max-width:880px}.contact-channels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.contact-card{display:block;padding:22px 20px 24px;border:1px solid var(--border, rgba(0,0,0,.1));border-radius:12px;background:var(--surface, #fff);text-decoration:none;color:inherit;position:relative;transition:border-color .15s ease,transform .2s ease}.contact-card:hover:not(.contact-card-static){border-color:var(--teal-dark, #B8869A);transform:translateY(-2px)}.contact-card-num{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em;color:var(--teal-dark, #B8869A);margin-bottom:14px}.contact-card-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3, #888);margin-bottom:8px}.contact-card-value{font-size:16px;font-weight:600;margin-bottom:8px;word-break:break-word}.contact-card-address{font-size:14px;font-weight:500;line-height:1.5}.contact-card-meta{font-size:12px;color:var(--text-2, #666);font-family:Outfit,sans-serif}.contact-sla{margin-top:32px;padding:18px 22px;border-radius:12px;background:var(--teal-dim, rgba(232,180,192,.12));border:1px solid rgba(184,134,154,.25);display:flex;align-items:center;gap:18px}.contact-sla-mark{font-size:22px;color:var(--teal-dark, #B8869A);font-weight:600;line-height:1}.contact-sla-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3, #888);margin-bottom:4px}.contact-sla-value{font-size:14px;font-weight:500;color:var(--text-1)}.pricing-hero{max-width:880px;width:100%;margin:0 auto;padding:48px 20px 24px;font-family:Outfit,sans-serif}.pricing-headline{font-size:44px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:0 0 16px;max-width:700px}.pricing-lede{font-size:17px;line-height:1.6;color:var(--text-2, #555);max-width:600px;margin:0}.pricing-grid{max-width:1100px;margin:0 auto;padding:32px 20px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pricing-card{position:relative;padding:28px 24px 24px;background:var(--surface, #fff);border:1px solid var(--border, rgba(0,0,0,.1));border-radius:16px;font-family:Outfit,sans-serif;display:flex;flex-direction:column}.pricing-card-popular{border-color:var(--teal-dark, #B8869A);box-shadow:0 8px 30px #b8869a2e;background:linear-gradient(180deg,rgba(232,180,192,.06) 0%,transparent 50%),var(--surface, #fff)}.pricing-card-flag{position:absolute;top:-10px;right:18px;background:var(--teal-dark, #B8869A);color:#fff;padding:4px 10px;border-radius:999px;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}.pricing-card-tier{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3, #888);margin-bottom:14px}.pricing-card-price{display:flex;align-items:baseline;gap:8px;margin-bottom:22px;padding-bottom:22px;border-bottom:1px dashed var(--border, rgba(0,0,0,.1))}.pricing-card-amount{font-size:36px;font-weight:700;letter-spacing:-.02em;color:var(--text-1)}.pricing-card-unit{font-size:13px;color:var(--text-3, #888);font-family:JetBrains Mono,monospace;letter-spacing:.04em}.pricing-card-rows{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:9px}.pricing-card-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;padding:4px 0;border-bottom:1px dotted var(--border, rgba(0,0,0,.06))}.pricing-card-row:last-child{border-bottom:none}.pricing-card-row-label{color:var(--text-2, #666);font-size:12.5px}.pricing-card-row-value{font-weight:600;text-align:right;color:var(--text-1);font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.02em}.pricing-card-cta{display:block;text-align:center;padding:12px 16px;border-radius:10px;font-size:13px;font-weight:600;letter-spacing:.02em;text-decoration:none;margin-top:auto;border:1px solid var(--accent, #1B1B1B);background:transparent;color:var(--accent, #1B1B1B);transition:background .15s ease,color .15s ease}.pricing-card-popular .pricing-card-cta,.pricing-card-cta:hover{background:var(--accent, #1B1B1B);color:#fff}.pricing-footnote{max-width:1100px;margin:0 auto;padding:24px 20px 64px;font-size:12px;color:var(--text-3, #888);text-align:center;font-family:JetBrains Mono,monospace;letter-spacing:.04em}.biz-footer{margin-top:auto;padding:36px 20px 28px;border-top:1px solid var(--border, rgba(0,0,0,.08));font-family:Outfit,sans-serif;background:var(--surface, #fff)}.biz-footer-mark{max-width:1100px;margin:0 auto 18px;display:flex;align-items:baseline;gap:10px}.biz-footer-cross{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:300;color:var(--teal-dark, #B8869A);line-height:1}.biz-footer-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3, #888)}.biz-footer-spec{max-width:1100px;margin:0 auto 22px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 32px}.biz-footer-row{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:baseline;padding:6px 0;border-bottom:1px dotted var(--border, rgba(0,0,0,.08))}.biz-footer-row dt{font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3, #888);margin:0}.biz-footer-row dd{font-size:13px;margin:0;color:var(--text-1);font-weight:500}.biz-footer-row a{color:var(--accent, #1B1B1B);text-decoration:underline;text-decoration-color:var(--teal-dark, #B8869A);text-underline-offset:3px}.biz-footer-nav{max-width:1100px;margin:0 auto 14px;display:flex;flex-wrap:wrap;gap:8px 10px;font-size:12px;color:var(--text-2, #555)}.biz-footer-nav a{color:var(--text-2, #555);text-decoration:none}.biz-footer-nav a:hover{color:var(--accent, #1B1B1B);text-decoration:underline;text-decoration-color:var(--teal-dark, #B8869A);text-underline-offset:3px}.biz-footer-nav span{color:var(--text-3, #aaa)}.biz-footer-copy{max-width:1100px;margin:0 auto;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.08em;color:var(--text-3, #888)}@media (max-width: 880px){.about-grid{grid-template-columns:1fr;gap:24px}.about-headline{font-size:30px}.about-entity-spec>div{grid-template-columns:1fr;gap:4px}.contact-channels{grid-template-columns:1fr}.pricing-hero{padding:32px 16px 16px}.pricing-headline{font-size:32px}.pricing-grid{grid-template-columns:1fr}.biz-footer-spec{grid-template-columns:1fr;gap:8px}.biz-footer-row{grid-template-columns:1fr;gap:2px}}@media (max-width: 480px){.legal-header{padding:12px 14px}.legal-article{padding:22px 16px 56px;font-size:14.5px}.legal-article h1{font-size:24px}}.admin-shell{display:flex;min-height:100vh;background:#f4f5f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-sidebar{width:220px;flex-shrink:0;background:#1a1d23;color:#c8ccd4;display:flex;flex-direction:column;padding:0;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-sidebar-brand{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;border-bottom:1px solid #2a2e38}.admin-sidebar-logo{background:#4f8ef7;color:#fff;font-weight:700;font-size:13px;border-radius:6px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-sidebar-title{font-size:14px;font-weight:600;color:#fff;letter-spacing:.5px;text-transform:uppercase}.admin-nav{list-style:none;margin:0;padding:12px 0;flex:1}.admin-nav li{margin:2px 8px}.admin-nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:#9aa0ac;text-decoration:none;font-size:14px;transition:background .15s,color .15s}.admin-nav-link:hover{background:#2a2e38;color:#e4e7ec}.admin-nav-link--active{background:#2a2e38;color:#fff;font-weight:600}.admin-nav-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.admin-sidebar-footer{border-top:1px solid #2a2e38;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.admin-sidebar-user{font-size:12px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-logout-btn{background:#2a2e38;border:none;color:#9aa0ac;font-size:13px;padding:7px 12px;border-radius:6px;cursor:pointer;text-align:left;transition:background .15s,color .15s}.admin-logout-btn:hover{background:#3a3f4b;color:#e4e7ec}.admin-content{flex:1;min-width:0;padding:32px;overflow-y:auto}.admin-page-header{margin-bottom:28px}.admin-page-title{font-size:22px;font-weight:700;color:#111827;margin:0 0 4px}.admin-page-subtitle{font-size:14px;color:#6b7280;margin:0}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:32px}.admin-stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000f}.admin-stat-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.admin-stat-value{font-size:28px;font-weight:700;color:#111827}.admin-table-wrap{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.admin-table-header{padding:16px 20px;border-bottom:1px solid #f0f1f3;font-size:14px;font-weight:600;color:#374151}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.4px;background:#f9fafb;border-bottom:1px solid #f0f1f3}.admin-table td{padding:12px 16px;border-bottom:1px solid #f7f8f9;color:#374151;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#fafbfc}.admin-badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.admin-badge--solo{background:#f3f4f6;color:#6b7280}.admin-badge--pro{background:#eff6ff;color:#2563eb}.admin-badge--enterprise{background:#fdf4ff;color:#7c3aed}.admin-badge--active{background:#f0fdf4;color:#16a34a}.admin-badge--cancelled{background:#fffbeb;color:#d97706}.admin-badge--frozen{background:#eff6ff;color:#2563eb}.admin-badge--archived{background:#f9fafb;color:#9ca3af}.admin-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f4f5f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-login-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000001a;padding:40px;width:100%;max-width:380px}.admin-login-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.admin-login-logo{background:#4f8ef7;color:#fff;font-weight:700;font-size:14px;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.admin-login-title{font-size:18px;font-weight:700;color:#111827}.admin-login-subtitle{font-size:13px;color:#6b7280;margin:0 0 24px}.admin-login-field{margin-bottom:16px}.admin-login-field label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.admin-login-field input{width:100%;padding:10px 12px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;outline:none;box-sizing:border-box;transition:border-color .15s}.admin-login-field input:focus{border-color:#4f8ef7}.admin-login-btn{width:100%;padding:11px;background:#4f8ef7;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;margin-top:8px;transition:background .15s}.admin-login-btn:hover:not(:disabled){background:#3b7de8}.admin-login-btn:disabled{opacity:.6;cursor:not-allowed}.admin-login-error{background:#fef2f2;color:#dc2626;border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:16px}.admin-action-btn{background:#f3f4f6;border:none;color:#374151;font-size:12px;padding:5px 10px;border-radius:6px;cursor:pointer;margin-right:6px;transition:background .15s}.admin-action-btn:hover{background:#e5e7eb}.admin-action-btn--danger{background:#fef2f2;color:#dc2626}.admin-action-btn--danger:hover{background:#fee2e2}.admin-primary-btn{background:#4f8ef7;color:#fff;border:none;font-size:13px;font-weight:600;padding:9px 16px;border-radius:8px;cursor:pointer;transition:background .15s}.admin-primary-btn:hover:not(:disabled){background:#3b7de8}.admin-primary-btn:disabled{opacity:.5;cursor:not-allowed}.admin-filter-select{padding:8px 12px;border:1.5px solid #e5e7eb;border-radius:8px;background:#fff;font-size:13px;color:#374151;cursor:pointer}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.admin-modal{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.admin-simulate-card{text-align:left;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;padding:16px;cursor:pointer;transition:border-color .15s,transform .05s;font-family:inherit}.admin-simulate-card:hover:not(:disabled){border-color:#4f8ef7;transform:translateY(-1px)}.admin-simulate-card:disabled{opacity:.5;cursor:not-allowed}.admin-badge--paid{background:#f0fdf4;color:#16a34a}.admin-badge--failed{background:#fef2f2;color:#dc2626}.admin-badge--pending{background:#fef9c3;color:#ca8a04}.admin-badge--halted{background:#fff1f2;color:#be123c}.admin-badge--authenticated{background:#ecfeff;color:#0891b2}.admin-badge--paused{background:#f5f3ff;color:#7c3aed}.admin-badge--completed,.admin-badge--expired{background:#f9fafb;color:#9ca3af}.admin-badge--created,.admin-badge--received{background:#eff6ff;color:#2563eb}.admin-badge--processed{background:#f0fdf4;color:#16a34a}.admin-badge--replayed{background:#fef9c3;color:#ca8a04}:root{--sidebar-w: 260px;--font-ui: "Outfit", sans-serif;--font-mono: "JetBrains Mono", monospace;--ease: cubic-bezier(.22, 1, .36, 1)}:root,:root[data-theme=light]{--bg: #FAF3F0;--bg-raised: #FFFFFF;--bg-elevated: #F2E8E4;--bg-input: var(--bg-raised);--border: #E5DDD8;--border-bright:#D8C8C2;--text-1: #1B1B1B;--text-2: #5A5A57;--text-3: #9A968B;--accent: #1B1B1B;--accent-soft: #2A2A28;--teal: #E8B4C0;--teal-dim: rgba(232, 180, 192, .12);--teal-glow: rgba(232, 180, 192, .22);--teal-dark: #B8869A;--up: #B8869A;--up-bg: rgba(184, 134, 154, .1);--down: #B0594F;--down-bg: rgba(176, 89, 79, .08);--neutral: #9A968B;--shadow-1: 0 1px 2px rgba(20,20,20,.04);--shadow-2: 0 8px 30px -10px rgba(20,20,20,.1);--accent-rgb-csv: 27, 27, 27;--teal-rgb-csv: 232, 180, 192;--overlay-1: rgba(20, 20, 20, .025);--overlay-2: rgba(20, 20, 20, .05);--overlay-strong: rgba(20, 20, 20, .6);color-scheme:light}:root[data-theme=dark]{--bg: var(--bg);--bg-raised: var(--bg-raised);--bg-elevated: var(--bg-elevated);--border: #1A2235;--border-bright:#253045;--text-1: #E8E2DA;--text-2: #7A8499;--text-3: #3D4A60;--accent: #2DEBB8;--accent-soft: #1F8E73;--teal: #2DEBB8;--teal-dim: rgba(var(--accent-rgb-csv), .12);--teal-glow: rgba(var(--accent-rgb-csv), .25);--teal-dark: #1CB894;--up: #2DEBB8;--up-bg: rgba(var(--accent-rgb-csv), .08);--down: #FF4D6D;--down-bg: rgba(255, 77, 109, .08);--neutral: #7A8499;--shadow-1: 0 1px 2px rgba(0,0,0,.4);--shadow-2: 0 16px 50px -12px rgba(0,0,0,.6);--accent-rgb-csv: 45, 235, 184;--teal-rgb-csv: 45, 235, 184;--overlay-1: rgba(255, 255, 255, .025);--overlay-2: rgba(255, 255, 255, .05);--overlay-strong: rgba(0, 0, 0, .6);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;overscroll-behavior:none}.app-content,.tag-dropdown-item-list,.photo-strip-wrap,.diary-list,.picker-folder-list,.picker-asset-grid,.MuiDialog-paper,.MuiPopover-paper,.MuiMenu-paper{overscroll-behavior:contain}body{font-family:var(--font-ui);background:var(--bg);color:var(--text-1);min-height:100vh;overscroll-behavior:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E")}button{font-family:var(--font-ui);cursor:pointer}input,textarea{font-family:var(--font-ui)}a{text-decoration:none;color:inherit}.app-shell{display:flex;min-height:100vh}.app-content{flex:1;margin-left:var(--sidebar-w);padding:44px 52px;min-height:100vh;animation:contentIn .45s var(--ease)}@keyframes contentIn{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:var(--bg-raised);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;overflow:hidden}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--teal),transparent);opacity:.7}.sidebar-logo{padding:26px 20px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:11px}.sidebar-logo-img{width:34px;height:34px;object-fit:contain;flex-shrink:0}.sidebar-logo-name{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--text-1);letter-spacing:.07em;text-transform:uppercase}.sidebar-logo-tag{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:3px 8px;background:var(--teal-dim);border:1px solid rgba(var(--accent-rgb-csv),.2);border-radius:3px}.sidebar-logo-tag-dot{width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 6px var(--teal);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.sidebar-logo-tag-text{font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.14em;color:var(--teal);text-transform:uppercase}.sidebar-nav{flex:1;padding:20px 14px;display:flex;flex-direction:column;gap:2px}.sidebar-nav-label{font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);padding:0 10px;margin-bottom:8px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:5px;font-size:13px;font-weight:500;color:var(--text-2);letter-spacing:.01em;transition:color .15s var(--ease),background .15s var(--ease);position:relative}.sidebar-link:hover{color:var(--text-1);background:var(--overlay-1)}.sidebar-link.active{color:var(--teal);background:var(--teal-dim)}.sidebar-link.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:2px;background:var(--teal);border-radius:0 2px 2px 0;box-shadow:0 0 8px var(--teal-glow)}.sidebar-link svg{opacity:.6;flex-shrink:0}.sidebar-link.active svg,.sidebar-link:hover svg{opacity:1}.landmark-toggle-row{display:flex;justify-content:flex-end;margin-bottom:8px}.landmark-toggle{display:inline-flex;align-items:center;gap:7px;background:none;border:1px solid var(--border);color:var(--text-2);border-radius:6px;padding:5px 12px;font-size:12px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.landmark-toggle.active{border-color:var(--teal);color:var(--text-1);background:var(--teal-dim)}.landmark-toggle-box{width:14px;height:14px;border-radius:3px;border:1px solid var(--border-strong, var(--border));display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1}.landmark-toggle.active .landmark-toggle-box{background:var(--teal);border-color:var(--teal);color:#fff}.driver-popover{border-radius:12px;font-family:inherit}.driver-popover-title{font-size:15px;font-weight:700}.driver-popover-description{font-size:13px;line-height:1.55}.driver-popover-next-btn,.driver-popover-prev-btn{border-radius:7px!important;font-family:inherit!important;text-shadow:none!important}.driver-popover-next-btn{background:var(--teal-dark)!important;color:#fff!important;border:1px solid var(--teal-dark)!important}.driver-popover-progress-text{color:var(--text-2);font-size:12px}.sidebar-new-btn{margin:0 14px 14px;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;background:var(--teal-dark);color:var(--bg);border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:none;transition:background .15s var(--ease),box-shadow .15s var(--ease),transform .1s var(--ease)}.sidebar-new-btn:hover{background:var(--teal);box-shadow:0 0 12px var(--teal-glow)}:root[data-theme=light] .sidebar-new-btn{background:var(--accent);color:#fff}:root[data-theme=light] .sidebar-new-btn:hover{background:var(--accent-soft);box-shadow:var(--shadow-2)}.sidebar-new-btn:active{transform:scale(.97)}.sidebar-footer{padding:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.sidebar-status{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg);border-radius:5px;border:1px solid var(--border)}.sidebar-status-text{font-family:var(--font-mono);font-size:9px;color:var(--text-3);letter-spacing:.08em}.locale-toggle{display:flex;gap:4px}.locale-btn{flex:1;padding:7px;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:10px;font-weight:600;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-3);transition:all .15s var(--ease)}.locale-btn:hover{color:var(--text-1);border-color:var(--border-bright)}.locale-btn.active{background:var(--teal-dim);color:var(--teal);border-color:rgba(var(--accent-rgb-csv),.3)}.page-header{margin-bottom:40px}.page-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.page-eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:8px;display:flex;align-items:center;gap:8px}.page-eyebrow:before{content:"";display:inline-block;width:20px;height:1px;background:var(--teal)}.page-title{font-size:32px;font-weight:600;color:var(--text-1);line-height:1.15;letter-spacing:-.02em}.page-subtitle{font-size:13px;color:var(--text-2);margin-top:6px}.case-bar{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 16px;margin-top:22px;background:linear-gradient(180deg,rgba(255,255,255,.015),transparent);border:1px solid var(--border);border-radius:4px;position:relative;overflow:hidden}.case-bar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--teal);opacity:.55}.case-bar-id{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--teal);font-weight:500;flex-shrink:0}.case-bar-sep{color:var(--text-3);font-size:12px;-webkit-user-select:none;user-select:none}.case-bar-name{font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--text-1);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.case-bar-spacer{flex:1}.case-bar-note,.case-bar-export{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-2);cursor:pointer;transition:color .12s var(--ease),background .12s var(--ease),border-color .12s var(--ease);flex-shrink:0}.case-bar-note:hover,.case-bar-export:hover{color:var(--teal);background:var(--teal-dim);border-color:rgba(var(--accent-rgb-csv),.22)}.case-bar-note.has-note{color:var(--teal)}.case-bar-note.empty{color:var(--text-3)}.case-bar-note-dot{position:absolute;top:4px;right:4px;width:5px;height:5px;background:var(--teal);border-radius:50%;box-shadow:0 0 6px var(--teal-glow)}.case-bar-export:disabled{opacity:.35;cursor:not-allowed}.case-bar-export:disabled:hover{color:var(--text-2);background:transparent;border-color:transparent}.case-bar-mobile-only{display:none}@media (max-width: 768px){.case-bar{gap:6px;padding:6px 8px 6px 12px}.case-bar-id{font-size:10px}.case-bar-name{font-size:12px}.case-bar-sep{font-size:10px}.case-bar-desktop-only{display:none!important}.case-bar-mobile-only{display:inline-flex}}.case-bar-export-pct{font-family:var(--font-mono);font-size:10px;color:var(--teal);letter-spacing:.04em}.diary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(var(--accent-rgb-csv),.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:diaryFade .16s var(--ease)}@keyframes diaryFade{0%{opacity:0}to{opacity:1}}.diary-sheet{width:100%;max-width:540px;max-height:88vh;background:var(--bg-raised);border:1px solid var(--border-bright);border-bottom:none;border-top-left-radius:14px;border-top-right-radius:14px;box-shadow:0 -22px 60px #0009;display:flex;flex-direction:column;position:relative;animation:diaryRise .22s var(--ease);overflow:hidden}@media (min-width: 720px){.diary-overlay{align-items:center;padding:24px}.diary-sheet{max-height:80vh;border-radius:8px;border-bottom:1px solid var(--border-bright)}}@keyframes diaryRise{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.diary-grip{position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:3px;background:var(--border-bright);border-radius:2px}.diary-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 18px 14px;border-bottom:1px solid var(--border)}.diary-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:4px;position:relative;padding-left:14px}.diary-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:1px;background:var(--teal)}.diary-sub{font-size:12px;color:var(--text-3);font-family:var(--font-mono)}.diary-close{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-3);width:28px;height:28px;cursor:pointer;font-size:13px;transition:color .12s,border-color .12s}.diary-close:hover{color:var(--text-1);border-color:var(--border-bright)}.diary-add-btn{margin:12px 14px 4px;padding:10px 14px;background:transparent;border:1px dashed rgba(var(--accent-rgb-csv),.3);border-radius:6px;color:var(--teal);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;transition:background .14s,border-color .14s}.diary-add-btn:hover{background:var(--teal-dim);border-color:var(--teal);border-style:solid}.diary-compose{margin:10px 14px 4px;padding:14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #14141408;transform:translateY(0);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease)}.diary-compose:focus-within{transform:translateY(-6px);background:var(--bg-raised);border-color:rgba(var(--teal-rgb-csv),.55);box-shadow:0 22px 48px -22px rgba(var(--teal-rgb-csv),.55),0 6px 18px -8px #14141414}.diary-compose-photopick{margin-bottom:10px}.diary-compose-label{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.diary-photo-chips{display:flex;gap:6px;flex-wrap:wrap}.diary-photo-chip{background:transparent;border:1px solid var(--border);color:var(--text-2);border-radius:999px;padding:4px 10px;font-family:var(--font-mono);font-size:11px;cursor:pointer;transition:all .12s}.diary-photo-chip:hover{border-color:var(--border-bright);color:var(--text-1)}.diary-photo-chip.active{background:var(--text-1);border-color:var(--text-1);color:var(--bg-raised)}.diary-compose-textarea{width:100%;min-height:100px;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;padding:12px 14px;font-family:var(--font-ui);font-size:13px;line-height:1.55;color:var(--text-1);resize:vertical;outline:none;transition:border-color .16s,box-shadow .16s}.diary-compose-textarea::placeholder{color:var(--text-3)}.diary-compose-textarea:focus{border-color:rgba(var(--teal-rgb-csv),.6);box-shadow:0 0 0 3px rgba(var(--teal-rgb-csv),.14)}.diary-compose-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.diary-list{flex:1;overflow-y:auto;padding:8px 14px 22px;display:flex;flex-direction:column;gap:6px}.diary-empty{padding:28px 0;text-align:center;color:var(--text-3);font-size:12px;font-family:var(--font-mono);letter-spacing:.04em}.diary-entry{padding:10px 12px 12px;border:1px solid var(--border);border-radius:6px;background:#ffffff03;cursor:pointer;transition:border-color .14s,background .14s;position:relative}.diary-entry:hover{border-color:var(--border-bright);background:#ffffff06}.diary-entry-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.diary-entry-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;padding:2px 7px;border-radius:3px;border:1px solid}.diary-entry-tag.photo{color:var(--teal);border-color:rgba(var(--accent-rgb-csv),.32);background:var(--teal-dim)}.diary-entry-tag.general{color:var(--text-2);border-color:var(--border-bright);background:transparent}.diary-entry-ts{font-family:var(--font-mono);font-size:10px;color:var(--text-3);letter-spacing:.02em;margin-left:auto;opacity:0;transform:translate(-4px);transition:opacity .18s,transform .18s;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.diary-entry-author{font-size:9px;color:var(--teal);opacity:.7;letter-spacing:.03em}.diary-entry.revealed .diary-entry-ts{opacity:1;transform:translate(0)}.diary-entry-text{font-size:13.5px;color:var(--text-1);line-height:1.5;white-space:pre-wrap;word-break:break-word}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;overflow:hidden}.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.case-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .15s var(--ease);animation:cardIn .4s var(--ease) both}@keyframes cardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.case-card:hover{border-color:rgba(var(--accent-rgb-csv),.35);box-shadow:0 0 0 1px rgba(var(--accent-rgb-csv),.1),0 8px 32px #0006;transform:translateY(-2px)}.case-card-thumbs{display:grid;grid-template-columns:1fr 1fr;height:130px;background:var(--bg-elevated);position:relative}.case-card-thumbs:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--border)}.case-thumb{position:relative;width:100%;height:100%;overflow:hidden}.case-thumb img{width:100%;height:100%;object-fit:cover;filter:brightness(.85);display:block}.case-thumb-label{position:absolute;bottom:5px;left:6px;font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffffbf;background:#00000073;padding:2px 5px;border-radius:3px}.case-thumb-empty{display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);color:var(--text-3);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.case-card-body{padding:14px 16px}.case-card-name{font-size:15px;font-weight:600;color:var(--text-1);letter-spacing:-.01em}.case-card-meta{font-family:var(--font-mono);font-size:10px;color:var(--text-3);margin-top:5px;letter-spacing:.04em}.case-card-id{font-family:var(--font-mono);font-size:9px;color:var(--teal);opacity:.6}.form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:22px}.form-label{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}.form-input,.form-textarea{padding:11px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:7px;font-size:14px;color:var(--text-1);transition:border-color .15s var(--ease),box-shadow .15s var(--ease);outline:none;width:100%}.form-textarea{resize:vertical;min-height:100px;line-height:1.6}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-3)}.form-input:focus,.form-textarea:focus{border-color:rgba(var(--accent-rgb-csv),.5);box-shadow:0 0 0 3px var(--teal-dim)}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:none;transition:all .15s var(--ease);cursor:pointer}.btn:active{transform:scale(.97)}.btn-primary{background:var(--teal);color:var(--bg)}.btn-primary:hover{background:#38f7c5;box-shadow:0 0 16px var(--teal-glow)}.btn-primary:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}.btn-outline{background:transparent;color:var(--text-2);border:1px solid var(--border)}.btn-outline:hover{border-color:var(--border-bright);color:var(--text-1)}.btn-ghost{background:transparent;color:var(--text-2);padding-left:0}.btn-ghost:hover{color:var(--text-1)}.back-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);background:none;border:none;cursor:pointer;margin-bottom:20px;transition:color .15s var(--ease)}.back-link:hover{color:var(--teal)}.upload-zone{border:1px dashed var(--border-bright);border-radius:10px;padding:40px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease);text-align:center;min-height:200px;background:var(--bg-raised)}.upload-zone:hover,.upload-zone.drag-active{border-color:var(--teal);background:var(--teal-dim)}.upload-zone-icon{color:var(--text-3);transition:color .15s var(--ease)}.upload-zone:hover .upload-zone-icon,.upload-zone.drag-active .upload-zone-icon{color:var(--teal)}.upload-zone-text{font-size:13px;color:var(--text-2);font-weight:500}.upload-zone-hint{font-family:var(--font-mono);font-size:9px;color:var(--text-3);letter-spacing:.1em}.photo-preview-wrap{position:relative;border-radius:10px;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border)}.photo-preview-img{display:block;width:100%;height:auto;cursor:zoom-in}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000eb;display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top,16px) env(safe-area-inset-right,16px) env(safe-area-inset-bottom,16px) env(safe-area-inset-left,16px);touch-action:pan-y}.lightbox-close{position:absolute;top:max(env(safe-area-inset-top),12px);right:max(env(safe-area-inset-right),12px);width:40px;height:40px;border-radius:50%;background:#ffffff26;border:none;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;-webkit-tap-highlight-color:transparent;transition:background .15s}.lightbox-close:hover{background:#ffffff40}.lightbox-img-wrap{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.lightbox-img{max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px);width:auto;height:auto;object-fit:contain;border-radius:6px;display:block;-webkit-user-select:none;user-select:none}.photo-preview-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.photo-label{position:absolute;top:10px;left:10px;background:rgba(var(--accent-rgb-csv),.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-bright);color:var(--teal);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:4px 10px;border-radius:3px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compare-col-header{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px;display:flex;align-items:center;gap:8px}.compare-col-header:after{content:"";flex:1;height:1px;background:var(--border)}.measure-table{width:100%;border-collapse:collapse;font-size:13px}.measure-table th{text-align:left;padding:8px 12px;font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border)}.measure-table th:not(:first-child){text-align:right}.measure-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-2);font-size:12px}.measure-table tr:last-child td{border-bottom:none}.measure-table tr:hover td{background:#ffffff05}.measure-table td:not(:first-child){text-align:right;font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}.measure-table .key-cell{color:var(--text-1);font-weight:500;font-size:12px}.delta-positive{color:var(--up);font-weight:700}.delta-positive:before{content:"▼ ";font-size:8px}.delta-negative{color:var(--down);font-weight:700}.delta-negative:before{content:"▲ ";font-size:8px}.delta-neutral{color:var(--neutral)}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.section-title{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}.section-line{flex:1;height:1px;background:var(--border)}.clinical-group-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-bright)}.clinical-group-title{font-size:15px;font-weight:700;color:var(--text-1);letter-spacing:.02em;flex-shrink:0}.clinical-note{font-size:11px;color:var(--teal);font-family:var(--font-mono);opacity:.7;flex:1}.jaw-cal-gear{margin-left:auto;flex-shrink:0;background:none;border:1px solid var(--border-bright);border-radius:4px;color:var(--text-3);cursor:pointer;padding:2px 7px;font-size:13px;line-height:1.6;transition:color .18s,border-color .18s,background .18s}.jaw-cal-gear:hover{color:#ff8c00;border-color:#ff8c0066}.jaw-cal-gear.active{color:#ff8c00;border-color:#ff8c0073;background:#ff8c0014}.jaw-cal-panel{background:#ff8c000a;border:1px solid rgba(255,140,0,.18);border-radius:6px;padding:12px 14px;margin-bottom:10px;display:flex;flex-direction:column;gap:10px}.jaw-cal-row{display:flex;align-items:center;gap:10px}.jaw-cal-row label{font-size:11px;font-family:var(--font-mono);color:var(--text-3);min-width:72px;letter-spacing:.05em;flex-shrink:0}.jaw-cal-row input[type=range]{flex:1;accent-color:#FF8C00;cursor:pointer}.jaw-cal-row span{font-size:11px;font-family:var(--font-mono);color:#ff8c00;min-width:38px;text-align:right}.jaw-cal-reset{background:none;border:1px solid rgba(255,140,0,.25);border-radius:4px;color:var(--text-3);cursor:pointer;padding:3px 12px;font-size:11px;font-family:var(--font-mono);align-self:flex-end;transition:color .18s,border-color .18s}.jaw-cal-reset:hover{color:#ff8c00;border-color:#ff8c0080}.toggle-row{display:flex;align-items:center;gap:8px;margin-bottom:22px}.toggle-label{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);cursor:pointer;display:flex;align-items:center;gap:8px}.toggle-switch{position:relative;width:32px;height:18px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:9px;background:var(--bg-elevated);border:1px solid var(--border-bright);transition:background .2s var(--ease),border-color .2s var(--ease);cursor:pointer}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--text-3);transition:transform .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease)}.toggle-switch input:checked+.toggle-track{background:var(--teal-dim);border-color:rgba(var(--accent-rgb-csv),.4)}.toggle-switch input:checked+.toggle-track:after{transform:translate(14px);background:var(--teal);box-shadow:0 0 6px var(--teal-glow)}.divider{border:none;border-top:1px solid var(--border);margin:32px 0}.spinner{width:18px;height:18px;border:1.5px solid var(--border-bright);border-top-color:var(--teal);border-radius:50%;animation:spin .65s linear infinite}.loading-row{display:flex;align-items:center;gap:12px;padding:32px;color:var(--text-2);font-size:13px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:100px 24px;text-align:center}.empty-state-icon{width:52px;height:52px;border:1px solid var(--border-bright);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-3)}.empty-state-text{font-size:14px;color:var(--text-2);max-width:260px;line-height:1.65}.error-banner{background:var(--down-bg);border:1px solid rgba(255,77,109,.2);color:var(--down);padding:10px 14px;border-radius:7px;font-size:12px;font-family:var(--font-mono);margin-bottom:20px;letter-spacing:.02em}.stat-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.stat-chip{padding:8px 16px;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:2px}.stat-chip-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.stat-chip-value{font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--teal);line-height:1.1}.patients-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}.patients-search{position:relative;display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--bg-raised);border:1px solid var(--border);border-radius:999px;min-width:240px;color:var(--text-3);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.patients-search:focus-within{border-color:rgba(var(--teal-rgb-csv),.6);box-shadow:0 0 0 3px rgba(var(--teal-rgb-csv),.12);color:var(--teal)}.patients-search input{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:var(--text-1);letter-spacing:.01em}.patients-search input::placeholder{color:var(--text-3)}.patient-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.patient-card{position:relative;display:flex;flex-direction:column;text-align:left;background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;padding:0;overflow:hidden;cursor:pointer;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),transform .16s var(--ease);animation:cardIn .42s var(--ease) both;font-family:var(--font-ui);color:inherit}.patient-card:hover{border-color:rgba(var(--teal-rgb-csv),.45);box-shadow:0 18px 40px -22px rgba(var(--teal-rgb-csv),.5),0 4px 14px -8px #1414141a;transform:translateY(-2px)}.patient-card-cover{position:relative;aspect-ratio:4 / 3;background:linear-gradient(135deg,var(--bg-elevated),var(--bg));overflow:hidden}.patient-card-cover img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95);transition:transform .4s var(--ease)}.patient-card:hover .patient-card-cover img{transform:scale(1.04)}.patient-card-cover-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(80% 60% at 30% 30%,rgba(var(--teal-rgb-csv),.12),transparent 70%),var(--bg-elevated)}.patient-card-cover-fallback span{font-family:var(--font-mono);font-size:38px;font-weight:600;letter-spacing:.02em;color:var(--teal-dark)}.patient-card-cases{position:absolute;top:10px;right:10px;font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;background:#1414148c;color:#fff;border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.patient-card-body{padding:14px 16px 16px}.patient-card-id{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;color:var(--teal);opacity:.7;margin-bottom:4px}.patient-card-name{font-size:16px;font-weight:600;color:var(--text-1);letter-spacing:-.01em;margin-bottom:8px}.patient-card-meta{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--font-mono);font-size:10px;color:var(--text-3);letter-spacing:.04em;align-items:center}.patient-card-pill{display:inline-block;padding:2px 8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;font-size:10px;letter-spacing:.06em;color:var(--text-2)}.patient-card-tag{background:color-mix(in srgb,var(--teal) 8%,var(--bg-elevated));border-color:color-mix(in srgb,var(--teal) 28%,transparent);color:var(--teal-dark)}.patient-hero{display:flex;align-items:flex-start;gap:24px;padding:26px;background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;margin-bottom:26px;position:relative;overflow:hidden}.patient-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--teal),transparent);opacity:.6}.patient-hero-avatar{flex-shrink:0;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border-bright);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:30px;font-weight:600;color:var(--teal-dark);letter-spacing:.02em}.patient-hero-avatar img{width:100%;height:100%;object-fit:cover;display:block}.patient-hero-body{flex:1;min-width:0}.patient-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.patient-hero-meta-dim{font-family:var(--font-mono);font-size:11px;color:var(--text-3);letter-spacing:.06em}.patient-hero-notes{margin-top:14px;font-size:13px;color:var(--text-2);line-height:1.55;max-width:560px}.patient-hero-action{align-self:flex-start}.patient-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;align-self:flex-start;flex-shrink:0}.patient-hero-editing{align-items:flex-start}.patient-edit-form{display:flex;flex-direction:column;gap:12px;flex:1;min-width:0}.patient-edit-name{font-size:18px!important;font-weight:600!important;padding:10px 14px!important}.patient-edit-row{display:flex;gap:14px;align-items:flex-end}.patient-edit-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.patient-delete-confirm{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.patient-delete-confirm-label{font-size:12px;color:var(--down);font-family:var(--font-mono);letter-spacing:.04em}.tag-input-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;padding:5px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;cursor:text;transition:border-color .15s}.tag-input-wrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 12%,transparent)}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 10px;background:color-mix(in srgb,var(--teal) 14%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--teal) 40%,transparent);border-radius:999px;font-family:var(--font-mono);font-size:11px;color:var(--text-1);letter-spacing:.04em;line-height:1.4;white-space:nowrap;animation:tag-pop .15s cubic-bezier(.34,1.56,.64,1)}:root[data-theme=light] .tag-chip{background:color-mix(in srgb,var(--teal) 18%,white);border-color:color-mix(in srgb,var(--teal) 55%,transparent);color:#5a2d3e}@keyframes tag-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.tag-chip-text{max-width:160px;overflow:hidden;text-overflow:ellipsis}.tag-chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;background:none;color:var(--teal);opacity:.55;font-size:14px;line-height:1;cursor:pointer;padding:0;border-radius:50%;transition:opacity .1s,background .1s;flex-shrink:0}.tag-chip-remove:hover{opacity:1;background:color-mix(in srgb,var(--teal) 20%,transparent)}.tag-dropdown{min-width:180px;max-width:320px;background:var(--bg-raised);border:1px solid var(--border-bright);border-radius:10px;box-shadow:0 8px 24px #00000047;z-index:300;padding:4px 0;display:flex;flex-direction:column;max-height:296px;overflow:hidden}.tag-dropdown>.tag-dropdown-item-list{overflow-y:auto;max-height:256px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.tag-dropdown>.tag-dropdown-item-list::-webkit-scrollbar{width:6px}.tag-dropdown>.tag-dropdown-item-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.tag-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 14px;background:none;border:none;text-align:left;font-family:var(--font-mono);font-size:12px;color:var(--text-1);cursor:pointer;letter-spacing:.03em;transition:background .1s}.tag-dropdown-item:hover,.tag-dropdown-item.active{background:var(--bg-elevated);color:var(--teal)}.tag-dropdown-dot{width:5px;height:5px;border-radius:50%;background:var(--teal);flex-shrink:0;opacity:.6}.tag-dropdown-manage{display:flex;align-items:center;gap:7px;width:100%;padding:7px 14px;background:none;border:none;border-top:1px solid var(--border);text-align:left;font-family:var(--font-mono);font-size:11px;color:var(--text-3);cursor:pointer;transition:color .1s}.tag-dropdown-manage:hover{color:var(--text-1)}.tag-presets-panel{background:var(--bg-raised);border:1px solid var(--border-bright);border-radius:10px;box-shadow:0 8px 24px #00000047;z-index:300;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.tag-presets-head{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--text-2);letter-spacing:.06em;text-transform:uppercase}.tag-presets-close{background:none;border:none;color:var(--text-3);cursor:pointer;font-size:14px;padding:0}.tag-presets-close:hover{color:var(--text-1)}.tag-presets-list{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.tag-filter-wrap{display:flex;align-items:flex-start;gap:8px;margin-bottom:18px}.tag-filter-row{flex:1;display:flex;flex-wrap:wrap;gap:6px;overflow:hidden;transition:max-height .25s ease;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.tag-filter-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin-top:2px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;color:var(--text-3);cursor:pointer;transition:color .15s,border-color .15s}.tag-filter-toggle:hover{color:var(--teal);border-color:var(--teal)}.tag-filter-pill{display:inline-flex;align-items:center;white-space:nowrap;padding:3px 12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:11px;color:var(--text-2);cursor:pointer;letter-spacing:.04em;transition:all .15s}.tag-filter-pill:hover{border-color:var(--teal);color:var(--teal)}.tag-filter-pill.active{background:color-mix(in srgb,var(--teal) 14%,var(--bg-elevated));border-color:var(--teal);color:var(--text-1)}:root[data-theme=light] .tag-filter-pill.active{color:#5a2d3e}.note-hashtag{color:var(--teal);font-weight:500;letter-spacing:.02em}:root[data-theme=light] .note-hashtag{color:#9a3e5a}.patient-card-tag{cursor:pointer;transition:background .12s,border-color .12s}.patient-card-tag.tag-active{background:color-mix(in srgb,var(--teal) 20%,var(--bg-elevated));border-color:var(--teal)}.tag-input-field{flex:1;min-width:80px;border:none;outline:none;background:inherit;font-family:var(--font-mono);font-size:12px;color:var(--text-1);padding:2px 0;letter-spacing:.03em}.tag-input-field::placeholder{color:var(--text-3)}.patient-tags-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.patient-tag-pill{display:inline-flex;align-items:center;padding:2px 10px;background:color-mix(in srgb,var(--teal) 12%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--teal) 35%,transparent);border-radius:999px;font-family:var(--font-mono);font-size:10px;color:var(--text-1);letter-spacing:.06em}:root[data-theme=light] .patient-tag-pill{background:color-mix(in srgb,var(--teal) 18%,white);border-color:color-mix(in srgb,var(--teal) 55%,transparent);color:#5a2d3e}.patient-card-pill.patient-card-tag{background:color-mix(in srgb,var(--teal) 12%,var(--bg-elevated));border-color:color-mix(in srgb,var(--teal) 35%,transparent);color:var(--text-1)}:root[data-theme=light] .patient-card-pill.patient-card-tag{background:color-mix(in srgb,var(--teal) 18%,white);border-color:color-mix(in srgb,var(--teal) 55%,transparent);color:#5a2d3e}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0!important}.btn-danger{background:var(--down)!important;color:#fff!important;border-color:var(--down)!important}.btn-danger:hover{opacity:.88}.btn-danger-ghost{color:var(--down)!important;border-color:#b0594f4d!important}.btn-danger-ghost:hover{background:var(--down-bg)!important;border-color:var(--down)!important}@media (max-width: 720px){.patient-hero{flex-direction:row;align-items:center;gap:12px;padding:12px;margin-bottom:16px}.patient-hero-avatar{width:52px;height:52px;font-size:16px}.patient-hero .page-eyebrow{font-size:9px;margin-bottom:2px}.patient-hero .page-title{font-size:18px;line-height:1.2;margin:0}.patient-hero-meta{margin-top:6px;gap:6px}.patient-hero-meta-dim{display:none}.patient-hero-notes{margin-top:6px;font-size:12px}.patient-tags-row{margin-top:6px;gap:4px}.patient-tags-row .patient-tag-pill{font-size:10px;padding:2px 8px}.patient-hero-actions{flex-direction:row;gap:4px;align-self:center}.patient-hero-actions .patient-hero-action{padding:6px 10px;font-size:11px;min-width:0}.patient-hero-editing{flex-direction:column;align-items:stretch}}.pt-region-section{margin-bottom:28px}.pt-region-section-label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px;padding-left:2px}.pt-region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pt-region-card{display:flex;flex-direction:column;background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:border-color .16s var(--ease),box-shadow .16s var(--ease),transform .12s var(--ease);text-align:left;padding:0}.pt-region-card:hover{border-color:var(--border-bright);box-shadow:var(--shadow-1);transform:translateY(-1px)}.pt-region-card:active{transform:translateY(0)}.pt-region-card:disabled{opacity:.5;cursor:wait}.pt-region-card.has-case{border-color:var(--border-bright)}.pt-region-thumbs{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:1 / 1;background:var(--bg-elevated)}.pt-region-thumb{position:relative;overflow:hidden}.pt-region-thumb img{width:100%;height:100%;object-fit:cover;display:block}.pt-region-thumb-label{position:absolute;bottom:4px;left:4px;font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:#0000008c;color:#fff;padding:2px 5px;border-radius:3px}.pt-region-thumb-empty{background:var(--bg-elevated);border-left:1px solid var(--border)}.pt-region-thumb:first-child{border-right:1px solid var(--border)}.pt-region-empty-icon{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);color:var(--text-3)}.pt-region-card-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-top:1px solid var(--border)}.pt-region-card-name{font-size:11px;font-weight:600;color:var(--text-1);letter-spacing:-.01em}.pt-region-card-id{font-family:var(--font-mono);font-size:9px;color:var(--teal);letter-spacing:.06em}@media (max-width: 480px){.pt-region-grid{grid-template-columns:repeat(3,1fr);gap:8px}.pt-region-card-footer{padding:6px 8px}.pt-region-card-name{font-size:10px}}.region-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:4px 0 22px;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px}.region-group{display:inline-flex;align-items:center;gap:8px;padding-left:12px;border-left:1px solid var(--border)}.region-group:first-of-type{border-left:none;padding-left:0}.region-group-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);margin-right:4px}.region-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:999px;font-size:12px;font-family:var(--font-ui);font-weight:500;color:var(--text-2);cursor:pointer;transition:all .14s var(--ease)}.region-pill:hover:not(:disabled):not(.active){border-color:var(--border-bright);color:var(--text-1)}.region-pill.active{background:var(--text-1);color:var(--bg-raised);border-color:var(--text-1)}.region-pill:disabled{opacity:.4;cursor:not-allowed}.region-pill-count{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;padding:1px 6px;border-radius:999px;background:var(--bg-elevated);color:var(--text-3);min-width:18px;text-align:center}.region-pill.active .region-pill-count{background:#ffffff2e;color:#fffffff2}.region-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:4px;border:1px solid var(--border);color:var(--text-2);background:var(--bg-elevated);white-space:nowrap}.region-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--text-3)}.region-badge-face_front:before{background:#b8869a}.region-badge-face_side_left:before{background:#c7a77e}.region-badge-face_side_right:before{background:#8fa9a6}.region-badge-body_front:before{background:#7b8aa4}.region-badge-body_back:before{background:#9a8aab}.region-badge-body_side_left:before{background:#a38c7a}.region-badge-body_side_right:before{background:#8c7a6a}.case-card-region-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.region-picker{background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;padding:22px 24px 24px;position:relative}.region-picker-group{margin-top:18px}.region-picker-group:first-of-type{margin-top:0}.region-picker-group-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}.region-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 600px){.region-picker-grid{grid-template-columns:repeat(2,1fr)}}.region-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 14px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;text-align:left;cursor:pointer;color:var(--text-2);transition:all .16s var(--ease);position:relative}.region-card:hover{border-color:var(--border-bright);color:var(--text-1);transform:translateY(-1px)}.region-card.active{background:var(--bg-raised);border-color:var(--teal);color:var(--text-1);box-shadow:0 0 0 3px rgba(var(--teal-rgb-csv),.18),0 12px 26px -16px rgba(var(--teal-rgb-csv),.5)}.region-card.active:after{content:"";position:absolute;top:10px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal-glow)}.region-card svg{color:var(--text-3);transition:color .16s var(--ease)}.region-card:hover svg,.region-card.active svg{color:var(--teal)}.region-card-name{font-size:13px;font-weight:600;letter-spacing:-.005em}.region-card-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.region-card.active .region-card-tag{color:var(--teal-dark)}.region-card.region-card-taken{border-color:var(--teal);background:var(--teal-dim);opacity:.8}.region-card.region-card-taken .region-card-tag{color:var(--teal-dark)}.region-card.region-card-taken svg{color:var(--teal)}.gender-toggle{display:flex;gap:6px}.gender-btn{flex:1;padding:11px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:7px;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--text-2);cursor:pointer;transition:all .14s var(--ease)}.gender-btn:hover{border-color:var(--border-bright);color:var(--text-1)}.gender-btn.active{background:var(--text-1);color:var(--bg-raised);border-color:var(--text-1)}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.folder-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:24px 20px;cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .15s var(--ease);animation:cardIn .35s var(--ease) both}.folder-card:hover{border-color:rgba(var(--accent-rgb-csv),.4);box-shadow:0 0 0 1px rgba(var(--accent-rgb-csv),.1),0 8px 24px #00000059;transform:translateY(-2px)}.folder-card-icon{color:var(--text-3);margin-bottom:14px}.folder-card:hover .folder-card-icon{color:var(--teal)}.folder-card-name{font-size:14px;font-weight:600;color:var(--text-1);margin-bottom:6px}.folder-card-count{font-family:var(--font-mono);font-size:10px;color:var(--text-3);letter-spacing:.08em}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.asset-card{border-radius:8px;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border);animation:cardIn .3s var(--ease) both}.asset-thumb-wrap{position:relative;aspect-ratio:3/4;overflow:hidden}.asset-thumb-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s var(--ease);cursor:zoom-in}.asset-card:hover .asset-thumb-img{transform:scale(1.03)}.asset-badge{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.asset-badge-ok{background:rgba(var(--accent-rgb-csv),.85);color:var(--bg)}.asset-badge-warn{background:#ff4d6dd9;color:#fff}.asset-card-foot{display:flex;align-items:center;justify-content:space-between;padding:6px 8px}.asset-no-face{font-family:var(--font-mono);font-size:9px;color:var(--down);letter-spacing:.06em}.asset-delete-btn{background:none;border:none;color:var(--text-3);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:3px;transition:color .15s var(--ease),background .15s var(--ease)}.asset-delete-btn:hover{color:var(--down);background:var(--down-bg)}.pick-asset-btn{width:100%;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--bg-raised);border:1px dashed var(--border-bright);border-radius:10px;color:var(--text-3);cursor:pointer;transition:border-color .15s var(--ease),color .15s var(--ease),background .15s var(--ease);font-size:12px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.pick-asset-btn:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-dim)}.photo-actions{position:absolute;bottom:8px;left:8px;display:flex;gap:6px}.photo-action-btn{padding:4px 10px;background:rgba(var(--accent-rgb-csv),.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border-bright);border-radius:4px;color:var(--text-2);font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .15s var(--ease),border-color .15s var(--ease)}.photo-action-btn:hover{color:var(--teal);border-color:rgba(var(--accent-rgb-csv),.4)}.photo-action-remove:hover{color:var(--down);border-color:#ff4d6d66}.crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}.crop-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;background:#000;display:flex;flex-direction:column}.crop-header-float{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;padding-top:calc(env(safe-area-inset-top,0px) + 14px);background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);gap:12px}.crop-header-text{display:flex;flex-direction:column;gap:2px}.crop-title{font-size:13px;font-weight:600;color:#fff;letter-spacing:-.01em}.crop-hint{font-family:var(--font-mono);font-size:10px;color:#ffffff8c;letter-spacing:.05em}.crop-close{background:#ffffff1f;border:none;color:#fffc;font-size:14px;cursor:pointer;padding:6px 8px;border-radius:6px;transition:background .15s;flex-shrink:0;line-height:1}.crop-close:hover{background:#ffffff38;color:#fff}.crop-canvas-wrap{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.crop-loading{display:flex;align-items:center;justify-content:center;height:100%}.crop-canvas{display:block;max-width:100%;max-height:100vh;width:100%;height:100%;object-fit:contain;touch-action:none}.crop-actions-float{position:absolute;bottom:0;left:0;right:0;z-index:10;display:flex;gap:10px;padding:14px 18px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 14px);background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);justify-content:flex-end}.crop-actions-float .crop-btn-secondary{color:#ffffffbf!important}.crop-actions-float .crop-btn-primary{background:#b8869a!important}.photo-strip-section{margin-top:14px;border-top:1px solid var(--border)}.photo-strip-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:8px 2px;cursor:pointer;gap:8px;color:var(--text-3);transition:color .15s}.photo-strip-toggle:hover{color:var(--text-2)}.photo-strip-toggle-label{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.photo-strip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;background:var(--surface-2);border-radius:8px;font-size:9px;color:var(--text-3);font-variant-numeric:tabular-nums}.photo-strip-chevron{flex-shrink:0;transition:transform .22s var(--ease)}.photo-strip-chevron.collapsed{transform:rotate(180deg)}.photo-strip-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s var(--ease);overflow:hidden}.photo-strip-collapse.expanded{grid-template-rows:1fr}.photo-strip-collapse>.photo-strip-wrap{min-height:0}.photo-strip-wrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.photo-strip-wrap::-webkit-scrollbar{height:4px}.photo-strip-wrap::-webkit-scrollbar-track{background:transparent}.photo-strip-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.photo-strip{display:flex;gap:8px;padding:6px 2px 10px;align-items:flex-end;min-width:min-content}.photo-thumb{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;position:relative;flex-shrink:0;-webkit-user-select:none;user-select:none}.photo-thumb-img-wrap{position:relative;width:70px;height:0;padding-bottom:150%;border-radius:5px;border:2px solid var(--border);background:#000;overflow:hidden;transition:border-color .15s var(--ease),opacity .15s;box-sizing:border-box}.photo-thumb-img-wrap img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block}.photo-thumb:hover .photo-thumb-img-wrap{border-color:var(--text-3)}.photo-thumb.badge-a .photo-thumb-img-wrap{border-color:var(--teal)}.photo-thumb.badge-b .photo-thumb-img-wrap{border-color:#f59e0b}.photo-thumb-badge{position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;font-family:var(--font-mono);font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;color:#000;letter-spacing:0;box-shadow:0 1px 4px #00000080}.photo-thumb-badge.badge-a{background:var(--teal)}.photo-thumb-badge.badge-b{background:#f59e0b}.photo-thumb-preview{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:4px;background:#0009;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:11px;display:none;align-items:center;justify-content:center;cursor:zoom-in;line-height:1;padding:0;transition:background .12s}.photo-thumb-preview:hover{background:#000000d9}.photo-thumb:hover .photo-thumb-preview{display:flex}.photo-thumb-delete{position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:#000000b8;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:8px;display:none;align-items:center;justify-content:center;cursor:pointer;line-height:1;padding:0;transition:background .12s}.photo-thumb-delete:hover{background:#ff3c50d9}.photo-thumb:hover .photo-thumb-delete{display:flex}.photo-thumb-label{font-family:var(--font-mono);font-size:9px;color:var(--text-3);text-align:center;max-width:76px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text;line-height:1.3;transition:color .15s}.photo-thumb.badge-a .photo-thumb-label{color:var(--teal)}.photo-thumb.badge-b .photo-thumb-label{color:#f59e0b}.photo-thumb-label-input{font-family:var(--font-mono);font-size:9px;color:var(--text-1);background:var(--bg-raised);border:1px solid var(--teal);border-radius:3px;padding:2px 4px;width:76px;text-align:center;outline:none;box-sizing:border-box}.photo-strip-add{flex-shrink:0;width:76px;height:76px;border:1.5px dashed var(--border-bright);border-radius:5px;background:transparent;color:var(--text-3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s var(--ease),color .15s var(--ease)}.photo-strip-add:hover{border-color:var(--teal);color:var(--teal)}.photo-ab-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-family:var(--font-mono);font-size:8px;font-weight:800;color:#000;flex-shrink:0}.photo-ab-badge.photo-ab-a{background:var(--teal)}.photo-ab-badge.photo-ab-b{background:#f59e0b}.photo-empty-slot{width:100%;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--border);border-radius:6px;color:var(--text-3);font-family:var(--font-mono);font-size:11px;text-align:center;padding:20px;box-sizing:border-box;line-height:1.5}.picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:400;display:flex;align-items:flex-end;justify-content:center}.picker-sheet{width:100%;max-width:640px;max-height:72vh;max-height:min(72vh,72svh);background:var(--bg-raised);border-top:1px solid var(--border-bright);border-radius:16px 16px 0 0;overflow:hidden;display:flex;flex-direction:column;animation:sheetUp .28s var(--ease);padding-bottom:env(safe-area-inset-bottom,0px)}@media (min-width: 720px){.picker-overlay{align-items:center;padding:24px}.picker-sheet{max-width:520px;max-height:80vh;border-radius:12px;border:1px solid var(--border-bright);border-top:1px solid var(--border-bright);padding-bottom:0;animation:diaryRise .22s var(--ease)}}@keyframes sheetUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.picker-header{padding:18px 20px 14px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0}.picker-title{font-size:15px;font-weight:600;color:var(--text-1)}.picker-subtitle{font-family:var(--font-mono);font-size:10px;color:var(--text-3);margin-top:3px;letter-spacing:.06em}.picker-close{background:none;border:none;color:var(--text-3);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}.picker-close:hover{color:var(--text-1)}.picker-folder-list{overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.picker-folder-row{width:100%;display:flex;align-items:center;gap:12px;padding:14px 20px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text-1);cursor:pointer;transition:background .12s var(--ease);text-align:left}.picker-folder-row:hover{background:#ffffff08}.picker-folder-row svg{color:var(--text-3);flex-shrink:0}.picker-folder-name{flex:1;font-size:13px;font-weight:500}.picker-folder-count{font-family:var(--font-mono);font-size:10px;color:var(--text-3);margin-right:4px}.picker-new-folder-btn{color:var(--teal)!important;border-bottom:1px solid var(--border-bright)!important}.picker-new-folder-btn .picker-folder-name{color:var(--teal)}.picker-new-folder-form{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border-bright);flex-shrink:0}.picker-new-folder-input{flex:1;background:var(--bg-elevated);border:1px solid var(--border-bright);border-radius:6px;color:var(--text-1);font-size:13px;padding:7px 10px;outline:none;font-family:var(--font-sans)}.picker-new-folder-input:focus{border-color:var(--teal)}.picker-back{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);background:none;border:none;cursor:pointer;padding:10px 20px 0}.picker-camera-btn{display:flex;align-items:center;gap:8px;margin:8px 20px;padding:8px 16px;background:var(--teal-dim);border:1px solid rgba(var(--accent-rgb-csv),.25);border-radius:7px;color:var(--teal);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .15s var(--ease),box-shadow .15s var(--ease);flex-shrink:0}.picker-camera-btn:hover{background:rgba(var(--accent-rgb-csv),.18);box-shadow:0 0 12px var(--teal-glow)}.picker-asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;padding:8px 20px 20px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;align-content:start}.picker-asset-thumb{position:relative;width:100%;height:0;padding:0 0 150%;border-radius:6px;overflow:hidden;background:#000;border:2px solid transparent;cursor:pointer;transition:border-color .15s var(--ease),transform .1s var(--ease);display:block;box-sizing:border-box}.picker-asset-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block}.picker-asset-thumb:not(:disabled):hover{border-color:var(--teal);transform:scale(1.03)}.picker-asset-no-face{opacity:.4;cursor:not-allowed}.picker-no-face-badge{position:absolute;top:4px;right:4px;background:var(--down);color:#fff;width:16px;height:16px;border-radius:50%;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.camera-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:500;display:flex;align-items:center;justify-content:center;overflow:hidden}.camera-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.camera-guide{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.subscription-banner{display:flex;align-items:center;gap:16px;padding:14px 18px;margin-bottom:20px;border-radius:12px;font-family:var(--font-ui);border:1px solid}.subscription-banner-cancelled{background:var(--teal-dim, rgba(232,180,192,.12));border-color:#b8869a66;color:var(--text-1)}.subscription-banner-frozen{background:#dc505014;border-color:#dc505059;color:var(--text-1)}.subscription-banner-trial{background:linear-gradient(135deg,#2debb81a,#2debb808);border-color:#2debb84d;color:var(--text-1)}.subscription-banner-pending{background:linear-gradient(135deg,#4f8ef71a,#4f8ef708);border-color:#4f8ef74d;color:var(--text-1)}.subscription-banner-pending .subscription-banner-mark{color:#1d4ed8}.subscription-banner-mark{font-size:22px;line-height:1;color:var(--teal-dark, #B8869A);font-family:var(--font-mono);font-weight:300;flex-shrink:0}.subscription-banner-frozen .subscription-banner-mark{color:#c84646}.subscription-banner-trial .subscription-banner-mark{color:#0f766e}@keyframes sm-check-draw{0%{stroke-dashoffset:32}to{stroke-dashoffset:0}}@keyframes sm-halo-pulse{0%{transform:scale(.85);opacity:.55}to{transform:scale(1.55);opacity:0}}@keyframes sm-text-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sm-check-path{stroke-dasharray:32;stroke-dashoffset:32;animation:sm-check-draw .55s cubic-bezier(.6,.05,.3,1.1) .18s forwards}.sm-halo-1{animation:sm-halo-pulse 1.6s ease-out .1s infinite}.sm-halo-2{animation:sm-halo-pulse 1.6s ease-out .5s infinite}.sm-rise-1{opacity:0;animation:sm-text-rise .5s ease-out .35s forwards}.sm-rise-2{opacity:0;animation:sm-text-rise .5s ease-out .45s forwards}.sm-rise-3{opacity:0;animation:sm-text-rise .5s ease-out .55s forwards}.sm-rise-4{opacity:0;animation:sm-text-rise .5s ease-out .65s forwards}.sm-rise-5{opacity:0;animation:sm-text-rise .5s ease-out .75s forwards}.sm-live-dot{animation:sm-halo-pulse 1.8s ease-out infinite}.subscription-banner-content{flex:1;min-width:0}.subscription-banner-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3, #888);margin-bottom:4px}.subscription-banner-body{font-size:14px;font-weight:500;color:var(--text-1);line-height:1.5}.subscription-banner-cta{flex-shrink:0;padding:8px 14px;border-radius:8px;font-family:var(--font-ui);font-size:12.5px;font-weight:600;letter-spacing:.02em;border:1px solid var(--accent, #1B1B1B);background:var(--accent, #1B1B1B);color:#fff;cursor:pointer;transition:opacity .15s ease}.subscription-banner-cta:hover{opacity:.85}.subscription-banner-cta:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.subscription-banner{flex-wrap:wrap}.subscription-banner-cta{width:100%}}body[data-camera-open=true] .sidebar-hamburger,body[data-camera-open=true] .sidebar-overlay,body[data-camera-open=true] .sidebar,body[data-crop-open=true] .sidebar-hamburger,body[data-crop-open=true] .sidebar-overlay,body[data-crop-open=true] .sidebar,body[data-annotate-open=true] .sidebar-hamburger,body[data-annotate-open=true] .sidebar-overlay,body[data-annotate-open=true] .sidebar{display:none!important}.camera-close{position:absolute;top:16px;right:16px;z-index:4;width:36px;height:36px;border-radius:50%;background:#00000080;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.camera-close:hover{background:#000c}.camera-error{position:absolute;top:60px;left:0;right:0;text-align:center;background:var(--down-bg);color:var(--down);font-family:var(--font-mono);font-size:11px;padding:10px 20px;letter-spacing:.04em}.camera-zoom-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;width:100%}.camera-zoom-label{font-family:var(--font-mono);font-size:11px;color:rgba(var(--accent-rgb-csv),.7);min-width:22px;text-align:center}.camera-zoom-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;max-width:200px;height:3px;background:rgba(var(--accent-rgb-csv),.25);border-radius:2px;outline:none;cursor:pointer}.camera-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#b8869a;cursor:pointer;box-shadow:0 0 10px #b8869a80}.camera-zoom-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#b8869a;border:none;cursor:pointer;box-shadow:0 0 10px #b8869a80}.camera-autozoom-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:5px 7px;color:#ffffff80;cursor:pointer;display:flex;align-items:center;transition:background .2s,color .2s,border-color .2s;flex-shrink:0}.camera-autozoom-btn.active{background:rgba(var(--accent-rgb-csv),.18);border-color:var(--teal);color:var(--teal);box-shadow:0 0 8px rgba(var(--accent-rgb-csv),.3)}.camera-controls{position:absolute;bottom:0;left:0;right:0;z-index:4;padding:14px 0 max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:10px;background:linear-gradient(to top,#000,#000000eb 55%,#0000)}.camera-controls-row{width:100%;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.camera-calibrate-row{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;padding:0 24px}.camera-calibrate-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:#00000080;color:#fffc;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;cursor:pointer;transition:all .15s}.camera-calibrate-btn:hover{border-color:#fff9;color:#fff}.camera-calibrate-btn:disabled{opacity:.4;cursor:not-allowed}.camera-calibrate-set{border-color:#b8869a;color:#b8869a}.camera-calibrate-save{border-color:#b8869a;background:#b8869a26;color:#b8869a}.camera-shutter{width:72px;height:72px;border-radius:50%;background:#fff;border:4px solid rgba(var(--accent-rgb-csv),.9);cursor:pointer;box-shadow:0 0 0 3px #ffffff40,0 0 20px var(--teal-glow);transition:transform .1s var(--ease),box-shadow .1s var(--ease)}.camera-shutter:active{transform:scale(.92);box-shadow:0 0 0 2px #fff3}.camera-flip-btn{width:44px;height:44px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.camera-flip-btn:hover{background:#ffffff40}.camera-shutter-wrap{position:relative;width:68px;height:68px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.auto-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);pointer-events:none;z-index:1}.auto-toggle{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;width:44px;user-select:none;-webkit-user-select:none}.auto-toggle input{display:none}.auto-toggle.disabled{opacity:.35;pointer-events:none}.auto-toggle-track{width:36px;height:20px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:10px;position:relative;transition:background .2s,border-color .2s;flex-shrink:0}.auto-toggle.active .auto-toggle-track{background:rgba(var(--accent-rgb-csv),.25);border-color:var(--teal);box-shadow:0 0 8px rgba(var(--accent-rgb-csv),.3)}.auto-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff9;border-radius:50%;transition:transform .2s,background .2s}.auto-toggle.active .auto-toggle-thumb{transform:translate(16px);background:var(--teal)}.auto-toggle-text{font-size:9px;color:#ffffff80;font-family:JetBrains Mono,monospace;letter-spacing:.05em;text-transform:uppercase;transition:color .2s}.auto-toggle.active .auto-toggle-text{color:var(--teal)}.pose-joystick-wrap{position:absolute;top:calc(env(safe-area-inset-top,0px) + 16px);left:50%;transform:translate(-50%);z-index:10;pointer-events:none;opacity:.88;transition:opacity .4s}.pose-joystick-wrap.pose-joystick-good{opacity:.45}.pose-joystick-svg{width:100px;height:120px;display:block}@keyframes spin{to{transform:rotate(360deg)}}.lm-bar-track{flex:1;height:4px;background:#ffffff14;border-radius:2px;position:relative;overflow:hidden}.lm-bar-center{position:absolute;left:50%;top:0;width:1px;height:100%;background:#fff3}.lm-bar-fill{position:absolute;top:0;height:100%;background:var(--teal);border-radius:2px;transition:width .1s ease,left .1s ease}.lm-badge{font-size:10px;width:22px;text-align:center;flex-shrink:0}.lm-badge.good{color:var(--teal)}.lm-badge.warn{color:#c49a6a}.lm-badge.bad{color:var(--down)}.camera-preview-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#000}.camera-preview-actions{position:absolute;bottom:0;left:0;right:0;padding:20px 24px 48px;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 100%);display:flex;flex-direction:column;align-items:center;gap:10px}.camera-assign-btns{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.camera-assign-btns .btn{width:100%;max-width:300px;justify-content:center}.camera-action-secondary{background:none;border:1px solid rgba(255,255,255,.25);color:#fffc;border-radius:6px;padding:8px 20px;font-size:12px;font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;transition:border-color .15s,color .15s}.camera-action-secondary:hover{border-color:#ffffff80;color:#fff}.camera-whitebg-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid rgba(255,255,255,.25);color:#fffc;border-radius:6px;padding:7px 16px;font-size:12px;font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.camera-whitebg-toggle.active{border-color:var(--teal);color:#fff;background:#e8b4c02e}.camera-whitebg-box{width:15px;height:15px;border-radius:3px;border:1px solid rgba(255,255,255,.45);display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1}.camera-whitebg-toggle.active .camera-whitebg-box{background:var(--teal);border-color:var(--teal);color:#fff}.camera-uploading{position:absolute;bottom:40px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:10px;color:#fffc;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em}.camera-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:20;color:#ffffffb3;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;pointer-events:none}.case-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.case-photos-col{position:sticky;top:24px}.case-measurements-col{min-width:0}.measure-table tbody tr{cursor:pointer;transition:background .1s var(--ease)}.measure-table tbody tr.row-active td{background:rgba(var(--accent-rgb-csv),.05)}.measure-table tbody tr.row-active .key-cell,.measure-table tbody tr.row-locked .key-cell{color:var(--teal)}.measure-table tbody tr.row-locked td{background:rgba(var(--accent-rgb-csv),.08);border-bottom-color:rgba(var(--accent-rgb-csv),.12)}.mobile-nav{display:none}.mobile-nav.mobile-nav-hidden{display:none!important}@media (max-width: 768px){:root{--sidebar-w: 0px}.app-content{margin-left:0;padding:64px 16px 24px;overflow-x:clip;max-width:100vw}.case-layout{display:block;min-width:0;max-width:100%}.case-photos-col,.case-measurements-col{min-width:0;max-width:100%}.measure-table{table-layout:fixed}.measure-table .key-cell{word-break:break-word}.case-photos-col{position:sticky;top:0;z-index:10;background:var(--bg);padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:20px}.case-photos-col .upload-zone{min-height:80px;padding:12px}.case-photos-col .toggle-row{margin-bottom:8px}.page-title{font-size:24px}.page-header-row{flex-wrap:wrap;gap:12px;align-items:flex-start}.compare-grid{grid-template-columns:1fr 1fr}.mobile-nav{display:none!important}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);background:none;border:none;cursor:pointer;transition:color .15s var(--ease)}.mobile-nav-item.active,.mobile-nav-item:hover{color:var(--teal)}.mobile-nav-item svg{opacity:.6}.mobile-nav-item.active svg,.mobile-nav-item:hover svg{opacity:1}.mobile-nav:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--teal),transparent);opacity:.3}}@media print{.sidebar,.back-link,.btn,.toggle-row,.mobile-nav{display:none!important}.app-content{margin-left:0;padding:24px}.case-layout{grid-template-columns:1fr}.case-photos-col{position:static}body{background:#fff;color:#000}.measure-table td,.measure-table th{color:#000;border-color:#ccc}}.full-loader{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--text-dim, #94a3b8);font-size:14px}.login-shell{display:grid;grid-template-columns:1.5fr 1fr;min-height:100vh;background-color:#fafaf7;color:var(--text-1)}.login-mobile-header{display:none}.login-hero{position:relative;display:flex;align-items:flex-end;padding:64px;overflow:hidden;background:linear-gradient(135deg,#f4f0ec,#ede8e2);border-right:1px solid var(--border)}.login-hero-visual{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.face-annotation-svg{--face-stroke: rgba(140,90,110,.5);--feat-stroke: rgba(140,90,110,.62);--ann-stroke: rgba(140,90,110,.58);--label-fill: rgba(35,20,25,.78);--dot-fill: #B8869A;--badge-bg: #B8869A;--badge-text: #fff}@keyframes face-draw{0%{stroke-dashoffset:var(--dash, 900)}to{stroke-dashoffset:0}}@keyframes face-feature-in{0%{opacity:0}to{opacity:1}}@keyframes ann-slide-left{0%{opacity:0;transform:translate(7px)}to{opacity:1;transform:translate(0)}}@keyframes ann-slide-right{0%{opacity:0;transform:translate(-7px)}to{opacity:1;transform:translate(0)}}@keyframes dot-pop{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.4)}to{opacity:1;transform:scale(1)}}@keyframes badge-pop{0%{opacity:0;transform:scale(.75)}65%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.face-outline{stroke-dasharray:900;stroke-dashoffset:900;animation:face-draw 1.5s cubic-bezier(.22,1,.36,1) .25s forwards}.face-feature{opacity:0;animation:face-feature-in .45s ease forwards}.ann-line{stroke-dasharray:280;stroke-dashoffset:280;--dash: 280;animation:face-draw .45s ease forwards}.ann-dot{opacity:0;transform-box:fill-box;transform-origin:center;animation:dot-pop .3s cubic-bezier(.34,1.56,.64,1) forwards}.ann-label{opacity:0}.ann-label-end{animation:ann-slide-left .32s ease forwards}.ann-label-start{animation:ann-slide-right .32s ease forwards}.ann-label-mobile{display:none}@keyframes scan-sweep{0%{transform:translateY(0);opacity:0}6%{opacity:1}86%{opacity:.9}to{transform:translateY(400px);opacity:0}}.scan-group{opacity:0;animation:scan-sweep 1.7s cubic-bezier(.37,0,.63,1) .8s forwards}@keyframes bracket-in{0%{opacity:0;stroke-dashoffset:24}to{opacity:1;stroke-dashoffset:0}}.bracket-line{stroke-dasharray:24;stroke-dashoffset:24;opacity:0;animation:bracket-in .35s ease forwards}@keyframes confirm-pulse{0%{opacity:0;r:4}40%{opacity:1;r:7}70%{opacity:.6;r:5}to{opacity:1;r:4}}.confirm-dot{opacity:0;animation:confirm-pulse .5s ease forwards}:root[data-theme=dark] .face-photo{mix-blend-mode:luminosity;filter:brightness(.75) contrast(1.1)}.ipd-badge{opacity:0;transform-box:fill-box;transform-origin:250px 466px;animation:badge-pop .4s cubic-bezier(.34,1.56,.64,1) forwards}.login-hero-text{position:relative;z-index:1;max-width:520px}.login-logo-img{width:72px;height:72px;object-fit:contain;margin-bottom:18px;display:block}.login-brand{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:24px}.login-hero-text h1{font-size:clamp(28px,3.4vw,44px);line-height:1.15;font-weight:600;margin:0 0 18px;color:var(--text-1)}.login-hero-text p{font-size:15px;line-height:1.6;color:var(--text-2);margin:0}.login-card-wrap{display:flex;align-items:center;justify-content:center;padding:48px;background:#fafaf7}.login-card{position:relative;width:100%;max-width:420px;background:var(--bg-raised);border-radius:16px;padding:40px 36px;box-shadow:var(--shadow-2)}.login-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;padding:1px;background:linear-gradient(135deg,#b8869a80,#b8869a26 60%,#b8869a14);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.login-card-title{font-size:24px;font-weight:600;color:var(--text-1)}.login-card-sub{font-size:14px;color:var(--text-2);margin-top:6px;margin-bottom:16px}.login-secure-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--teal-dark);letter-spacing:.06em;opacity:.7;margin-bottom:14px}.login-google{display:flex;justify-content:center;padding:4px 0}.login-reviewer-link{display:block;margin:18px auto 0;background:none;border:none;font-size:11px;color:var(--text-3);text-decoration:underline;text-decoration-color:#78787859;cursor:pointer;letter-spacing:.04em}.login-reviewer-link:hover{color:var(--text-2)}.login-reviewer-form{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.login-reviewer-input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-raised);color:var(--text-1);font-size:13px;font-family:var(--font-ui);outline:none}.login-reviewer-input:focus{border-color:var(--accent)}.login-reviewer-actions{display:flex;gap:8px;justify-content:flex-end}.login-reviewer-cancel,.login-reviewer-submit{padding:8px 14px;border-radius:8px;font-size:12px;font-family:var(--font-ui);cursor:pointer;border:1px solid var(--border)}.login-reviewer-cancel{background:transparent;color:var(--text-2)}.login-reviewer-submit{background:var(--accent);color:#fff;border-color:var(--accent)}.login-reviewer-submit:disabled,.login-reviewer-cancel:disabled{opacity:.5;cursor:not-allowed}.login-foot{font-size:12px;color:var(--text-3);margin-top:28px;line-height:1.5;text-align:center}@media (max-width: 880px){.login-shell{display:flex;flex-direction:column;min-height:100vh;background:#fafaf7}.login-hero{order:1;display:flex;height:auto;min-height:0;padding:0;border-right:none;border-bottom:none;overflow:hidden;position:relative;background:linear-gradient(160deg,#f4f0ec,#ede8e2)}.login-hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(to bottom,transparent,#FAFAF7);pointer-events:none;z-index:2}.login-hero-visual{position:relative;inset:auto;width:100%;max-height:340px;overflow:hidden;display:flex;align-items:flex-start;justify-content:center}.face-annotation-svg{width:100%;height:auto;display:block}.ann-label-desktop{display:none}.ann-label-mobile{display:block}.login-hero-text{display:none}.login-mobile-header{order:2;display:flex;flex-direction:column;align-items:center;padding:4px 24px 18px;text-align:center;background:transparent;border-bottom:none}.login-mobile-logo{width:42px;height:42px;object-fit:contain;margin-bottom:8px}.login-mobile-brand{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:6px}.login-mobile-tagline{font-size:13px;color:var(--text-2);line-height:1.5;max-width:280px;margin:0}.login-card-wrap{order:3;background:transparent;min-height:0;padding:12px 20px 48px;align-items:flex-start;flex:1}.login-card{max-width:100%}}:root[data-theme=dark] .login-shell{background-color:#0a1f24;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(135deg,#06121a,#0a1f24 60%,#0e2a2c);background-size:28px 28px,100% 100%;color:#e6f2f3}:root[data-theme=dark] .login-hero{background:none;border-right-color:#e8b4c014}:root[data-theme=dark] .login-card-wrap{background:transparent}:root[data-theme=dark] .login-card{background:#ffffff08;box-shadow:0 20px 60px -20px #e8b4c01f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:root[data-theme=dark] .login-card:before{background:linear-gradient(135deg,#e8b4c061,#2debb829 60%,#e8b4c014)}:root[data-theme=dark] .face-annotation-svg{--face-stroke: rgba(255,255,255,.55);--feat-stroke: rgba(255,255,255,.65);--ann-stroke: rgba(255,255,255,.65);--label-fill: rgba(255,255,255,.88);--dot-fill: #E8B4C0;--badge-bg: #E8B4C0;--badge-text: #1B1B1B}:root[data-theme=dark] .login-mobile-header{background:transparent;border-bottom:none}:root[data-theme=dark] .login-card-wrap{min-height:0}@media (max-width: 880px){:root[data-theme=dark] .login-hero:after{background:linear-gradient(to bottom,transparent,#0a1f24)}:root[data-theme=dark] .login-shell{background-color:#0a1f24}}.onboarding-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:linear-gradient(135deg,#06121a,#0a1f24);color:#e6f2f3}.onboarding-card{width:100%;max-width:460px;background:#ffffff0a;border:1px solid rgba(var(--accent-rgb-csv),.18);border-radius:16px;padding:40px 36px;display:flex;flex-direction:column;gap:16px}.onboarding-greet{font-size:13px;color:#5eead4;letter-spacing:.08em;text-transform:uppercase}.onboarding-card h1{margin:0;font-size:26px;font-weight:600;color:#f0fdfa}.onboarding-card p{margin:0 0 12px;color:#99c5c0;font-size:14px;line-height:1.55}.onboarding-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#99c5c0}.onboarding-card input{background:#0000004d;border:1px solid rgba(var(--accent-rgb-csv),.24);color:#f0fdfa;padding:12px 14px;border-radius:10px;font-size:15px}.onboarding-card input:focus{outline:2px solid #5eead4;border-color:transparent}.onboarding-card button[type=submit]{background:#14b8a6;color:#03171a;border:none;border-radius:10px;padding:12px;font-weight:600;font-size:15px;cursor:pointer;transition:background .15s}.onboarding-card button[type=submit]:hover{background:#2dd4bf}.onboarding-card button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.onboarding-logout{background:transparent;color:#6b8a87;border:none;padding:8px;font-size:13px;cursor:pointer;margin-top:4px}.onboarding-logout:hover{color:#c4dad7}.ws-switcher{position:relative;padding:14px 16px;margin-top:6px;border-top:1px solid var(--border)}.ws-trigger{width:100%;display:flex;align-items:center;gap:8px;background:rgba(var(--accent-rgb-csv),.06);border:1px solid rgba(var(--accent-rgb-csv),.16);color:#e6f2f3;padding:10px 12px;border-radius:10px;cursor:pointer;font-size:13px;transition:background .15s,border-color .15s}.ws-trigger:hover{background:rgba(var(--accent-rgb-csv),.1);border-color:rgba(var(--accent-rgb-csv),.32)}.ws-trigger-name{flex:1;text-align:left;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-trigger-role{font-size:10px;padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.ws-menu{background:#0c1f23;border:1px solid rgba(var(--accent-rgb-csv),.22);border-radius:12px;padding:8px;box-shadow:0 16px 50px -12px #000000a6;z-index:30;max-height:70vh;overflow-y:auto;min-width:240px;max-width:320px}.ws-menu-section{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6b8a87;padding:8px 8px 4px}.ws-menu-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px 10px;background:transparent;border:none;color:#e6f2f3;border-radius:8px;cursor:pointer;font-size:13px}.ws-menu-item:hover{background:rgba(var(--accent-rgb-csv),.08)}.ws-menu-item.active{background:rgba(var(--accent-rgb-csv),.14)}.ws-menu-divider{height:1px;background:rgba(var(--accent-rgb-csv),.12);margin:6px 4px}.ws-menu-link{width:100%;text-align:left;padding:9px 10px;background:transparent;border:none;color:#c4dad7;cursor:pointer;font-size:13px;border-radius:8px}.ws-menu-link:hover{background:rgba(var(--accent-rgb-csv),.08);color:#f0fdfa}.ws-menu-link.danger{color:#fca5a5}.ws-menu-link.danger:hover{background:#ef44441f}.ws-menu-create{display:flex;gap:6px;padding:6px}.ws-menu-create input{flex:1;background:#0000004d;border:1px solid rgba(var(--accent-rgb-csv),.24);color:#f0fdfa;padding:7px 10px;border-radius:8px;font-size:12px}.ws-menu-create button{background:#14b8a6;color:#03171a;border:none;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600}.ws-menu-create button[type=button]{background:transparent;color:#6b8a87}.ws-menu-user{display:flex;align-items:center;gap:10px;padding:10px}.ws-menu-user img,.ws-menu-user .avatar-fallback{width:32px;height:32px;border-radius:50%;object-fit:cover}.ws-menu-user-name{font-size:13px;color:#f0fdfa;font-weight:500}.ws-menu-user-email{font-size:11px;color:#6b8a87}.role-pill,.ws-trigger-role{font-size:10px;padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.role-pill.role-owner,.ws-trigger-role.role-owner{background:#facc1524;color:#fde047}.role-pill.role-admin,.ws-trigger-role.role-admin{background:rgba(var(--accent-rgb-csv),.16);color:#5eead4}.role-pill.role-member,.ws-trigger-role.role-member{background:#94a3b829;color:#cbd5e1}.role-pill.role-viewer,.ws-trigger-role.role-viewer{background:#94a3b81a;color:#94a3b8}.avatar-fallback{width:40px;height:40px;border-radius:50%;background:rgba(var(--accent-rgb-csv),.16);color:#5eead4;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.avatar-fallback.small{width:32px;height:32px;font-size:13px}.page-pad{padding:24px 32px}.members-page{color:#e6f2f3}.members-back{color:#6b8a87;font-size:13px;text-decoration:none}.members-back:hover{color:#5eead4}.members-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.members-head h1{margin:6px 0 0;font-size:22px;font-weight:600}.members-sub{color:#6b8a87;font-size:13px;margin-top:6px}.btn-primary{background:#14b8a6;color:#03171a;border:none;padding:10px 16px;border-radius:10px;font-weight:600;cursor:pointer;font-size:13px}.btn-primary:hover{background:#2dd4bf}.invite-card{display:flex;gap:8px;margin-bottom:20px;padding:14px;background:rgba(var(--accent-rgb-csv),.05);border:1px solid rgba(var(--accent-rgb-csv),.18);border-radius:12px}.invite-card input,.invite-card select{background:#0000004d;border:1px solid rgba(var(--accent-rgb-csv),.24);color:#f0fdfa;padding:8px 12px;border-radius:8px;font-size:13px}.invite-card input{flex:1}.invite-card button{background:#14b8a6;color:#03171a;border:none;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;font-size:13px}.members-list{display:flex;flex-direction:column;gap:8px}.member-row{display:grid;grid-template-columns:48px 1fr auto auto;align-items:center;gap:14px;padding:12px 16px;background:#ffffff06;border:1px solid rgba(var(--accent-rgb-csv),.1);border-radius:12px}.member-row.pending{opacity:.78;border-style:dashed}.member-avatar img,.member-avatar .avatar-fallback{width:40px;height:40px;border-radius:50%;object-fit:cover}.member-name{font-size:14px;font-weight:500;color:#f0fdfa}.member-email{font-size:12px;color:#6b8a87;margin-top:2px}.pending-tag{color:#fde047}.member-actions{display:flex;gap:8px;align-items:center}.member-actions select{background:#0000004d;color:#e6f2f3;border:1px solid rgba(var(--accent-rgb-csv),.2);padding:5px 8px;border-radius:6px;font-size:12px}.link-btn{background:transparent;color:#5eead4;border:none;cursor:pointer;font-size:12px;padding:4px 6px}.link-btn:hover{text-decoration:underline}.danger-btn{background:transparent;color:#fca5a5;border:1px solid rgba(252,165,165,.3);padding:5px 10px;border-radius:6px;cursor:pointer;font-size:12px}.danger-btn:hover{background:#ef44441f}@media (max-width: 640px){.member-row{grid-template-columns:40px 1fr;row-gap:8px}.role-pill{grid-column:2;justify-self:start}.member-actions{grid-column:1 / -1;flex-wrap:wrap}}:root[data-theme=light] body{background-image:none}:root[data-theme=light] h1,:root[data-theme=light] h2,:root[data-theme=light] h3{letter-spacing:-.01em}:root[data-theme=light] .onboarding-shell{background:linear-gradient(135deg,#fafaf7,#f1eee6);color:var(--text-1)}:root[data-theme=light] .onboarding-card{background:var(--bg-raised);border-color:var(--border);box-shadow:var(--shadow-2)}:root[data-theme=light] .onboarding-card h1{color:var(--text-1)}:root[data-theme=light] .onboarding-card p,:root[data-theme=light] .onboarding-card label{color:var(--text-2)}:root[data-theme=light] .onboarding-greet{color:var(--accent)}:root[data-theme=light] .onboarding-card input{background:var(--bg);border-color:var(--border);color:var(--text-1)}:root[data-theme=light] .onboarding-card input:focus{outline-color:var(--accent)}:root[data-theme=light] .onboarding-card button[type=submit]{background:var(--accent);color:#fff}:root[data-theme=light] .onboarding-card button[type=submit]:hover{background:var(--accent-soft)}:root[data-theme=light] .onboarding-logout{color:var(--text-3)}:root[data-theme=light] .onboarding-logout:hover{color:var(--text-1)}:root[data-theme=light] .ws-trigger{background:var(--bg-raised);border-color:var(--border);color:var(--text-1)}:root[data-theme=light] .ws-trigger:hover{background:var(--bg-elevated);border-color:var(--border-bright)}:root[data-theme=light] .ws-menu{background:var(--bg-raised);border-color:var(--border);box-shadow:var(--shadow-2)}:root[data-theme=light] .ws-menu-section{color:var(--text-3)}:root[data-theme=light] .ws-menu-item{color:var(--text-1)}:root[data-theme=light] .ws-menu-item:hover{background:var(--bg-elevated)}:root[data-theme=light] .ws-menu-item.active{background:var(--bg-elevated)}:root[data-theme=light] .ws-menu-divider{background:var(--border)}:root[data-theme=light] .ws-menu-link{color:var(--text-2)}:root[data-theme=light] .ws-menu-link:hover{background:var(--bg-elevated);color:var(--text-1)}:root[data-theme=light] .ws-menu-link.danger{color:var(--down)}:root[data-theme=light] .ws-menu-create input{background:var(--bg);color:var(--text-1);border-color:var(--border)}:root[data-theme=light] .ws-menu-create button{background:var(--accent);color:#fff}:root[data-theme=light] .ws-menu-create button[type=button]{background:transparent;color:var(--text-3)}:root[data-theme=light] .ws-menu-user-name{color:var(--text-1)}:root[data-theme=light] .ws-menu-user-email{color:var(--text-3)}:root[data-theme=light] .members-page{color:var(--text-1)}:root[data-theme=light] .members-back{color:var(--text-3)}:root[data-theme=light] .members-back:hover{color:var(--text-1)}:root[data-theme=light] .members-sub{color:var(--text-3)}:root[data-theme=light] .btn-primary{background:var(--accent);color:#fff}:root[data-theme=light] .btn-primary:hover{background:var(--accent-soft)}:root[data-theme=light] .invite-card{background:var(--bg-raised);border-color:var(--border)}:root[data-theme=light] .invite-card input,:root[data-theme=light] .invite-card select{background:var(--bg);color:var(--text-1);border-color:var(--border)}:root[data-theme=light] .invite-card button{background:var(--accent);color:#fff}:root[data-theme=light] .member-row{background:var(--bg-raised);border-color:var(--border);box-shadow:var(--shadow-1)}:root[data-theme=light] .member-name{color:var(--text-1)}:root[data-theme=light] .member-email{color:var(--text-3)}:root[data-theme=light] .pending-tag{color:var(--down)}:root[data-theme=light] .member-actions select{background:var(--bg);color:var(--text-1);border-color:var(--border)}:root[data-theme=light] .link-btn{color:var(--accent)}:root[data-theme=light] .danger-btn{color:var(--down);border-color:var(--down)}:root[data-theme=light] .danger-btn:hover{background:var(--down-bg)}:root[data-theme=light] .avatar-fallback{background:var(--bg-elevated);color:var(--text-1)}:root[data-theme=light] .role-pill.role-owner,:root[data-theme=light] .ws-trigger-role.role-owner{background:#b48c1e1f;color:#8a6b0a}:root[data-theme=light] .role-pill.role-admin,:root[data-theme=light] .ws-trigger-role.role-admin{background:#6b8f8429;color:#4f6e64}:root[data-theme=light] .role-pill.role-member,:root[data-theme=light] .ws-trigger-role.role-member{background:#1414140f;color:var(--text-1)}:root[data-theme=light] .role-pill.role-viewer,:root[data-theme=light] .ws-trigger-role.role-viewer{background:#1414140a;color:var(--text-2)}:root[data-theme=light] input,:root[data-theme=light] textarea,:root[data-theme=light] select{background:var(--bg-raised);color:var(--text-1);border-color:var(--border)}:root[data-theme=light] .sidebar{box-shadow:1px 0 0 var(--border)}:root[data-theme=light] .full-loader{color:var(--text-2)}.ws-menu-prefs{padding:8px;display:flex;flex-direction:column;gap:10px}.ws-menu-prefs-row{display:flex;align-items:center;gap:8px}.ws-menu-prefs-label{font-size:11px;color:var(--text-3);width:56px;flex-shrink:0;text-transform:uppercase;letter-spacing:.08em}.ws-segmented{display:inline-flex;padding:2px;background:rgba(var(--accent-rgb-csv),.06);border:1px solid var(--border);border-radius:999px;flex:1}.ws-segmented button{flex:1;background:transparent;border:none;padding:6px 8px;color:var(--text-2);font-size:12px;border-radius:999px;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease);touch-action:manipulation}.ws-segmented button.active{background:var(--bg-raised);color:var(--text-1);box-shadow:var(--shadow-1)}.ws-segmented button:hover:not(.active){color:var(--text-1)}@media (max-width: 720px){.ws-menu-prefs-label{font-size:10px;width:auto;letter-spacing:.04em}.ws-segmented button{padding:4px 6px;font-size:11px}.locale-toggle{gap:2px}.locale-btn{padding:5px 6px;font-size:9px;letter-spacing:.04em}}@keyframes pageEnter{0%{opacity:0}to{opacity:1}}@keyframes fadeUpIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-reduced-motion: no-preference){.page-enter{animation:pageEnter .28s var(--ease) both}.fade-up-in{animation:fadeUpIn .36s var(--ease) both}.list-stagger>*{animation:fadeUpIn .36s var(--ease) both;animation-delay:calc(var(--i, 0) * 40ms)}}@media (prefers-reduced-motion: reduce){.page-enter,.fade-up-in,.list-stagger>*{animation:none}}.scale-press{transition:transform .12s var(--ease)}.scale-press:active{transform:scale(.97)}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 0%,var(--bg-raised) 50%,var(--bg-elevated) 100%);background-size:200% 100%;animation:shimmer 1.6s linear infinite;border-radius:8px}button,[role=button]{touch-action:manipulation}input,textarea,select{font-size:16px}@media (hover: none){*:hover{transition:none!important}}.app-shell{position:relative}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:40;animation:fadeUpIn .2s ease}.sidebar-hamburger{display:none;position:fixed;top:14px;left:14px;z-index:30;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-1);align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-1)}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform .24s var(--ease);z-index:60;width:280px;background:var(--bg-raised);box-shadow:8px 0 32px #00000073}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:55;background:#000000d1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-overlay.show{display:block}.sidebar-hamburger{display:flex;z-index:50}.app-content{padding-top:64px}}:root[data-theme=light] .sidebar-overlay{background:#1414148c}:root[data-theme=light] .sidebar{box-shadow:8px 0 32px #1414142e}:root[data-theme=light] .sidebar-link.active{color:var(--accent);background:#1414140f}:root[data-theme=light] .sidebar-link.active:before{background:var(--accent);box-shadow:none}:root[data-theme=light] .sidebar-link:hover{background:#1414140d}.compare-crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:12px}.compare-crop-shell{width:100%;max-width:1100px;max-height:100%;background:var(--bg, #fff);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 48px #00000080}.compare-crop-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border, rgba(0,0,0,.08))}.compare-crop-title{font-weight:600;font-size:15px}.compare-crop-close{background:transparent;border:0;font-size:18px;cursor:pointer;color:inherit;padding:4px 8px}.compare-crop-panes{display:flex;gap:12px;padding:12px;flex:1;min-height:0;align-items:stretch}.compare-crop-pane{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.compare-crop-pane-label{font-size:11px;font-family:var(--font-mono, monospace);opacity:.7;letter-spacing:.5px;text-transform:uppercase}.compare-crop-pane-frame{position:relative;width:100%;background:#000;overflow:hidden;border-radius:6px;display:flex;align-items:center;justify-content:center}.compare-crop-canvas{width:100%;height:100%;display:block}.compare-crop-canvas--interactive{cursor:grab;touch-action:none}.compare-crop-canvas--interactive:active{cursor:grabbing}.compare-crop-controls{display:flex;align-items:center;gap:12px;padding:8px 16px;border-top:1px solid var(--border, rgba(0,0,0,.08))}.compare-crop-zoom{flex:1}.compare-crop-zoom-label{min-width:56px;text-align:right;font-family:var(--font-mono, monospace);font-size:12px;opacity:.7}.compare-crop-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--border, rgba(0,0,0,.08))}@media (max-width: 768px){.compare-crop-panes{gap:6px;padding:6px}.compare-crop-pane{gap:3px}.compare-crop-pane-label{font-size:9px;letter-spacing:.3px}.compare-crop-header{padding:6px 10px}.compare-crop-title{font-size:13px}.compare-crop-controls{padding:6px 10px;gap:8px}.compare-crop-zoom-label{min-width:44px;font-size:11px}.compare-crop-footer{padding:6px 10px}}.compare-annotate-overlay{padding:0}.compare-annotate-shell{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}.compare-annotate-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--border, rgba(0,0,0,.08))}.compare-annotate-group{display:flex;align-items:center;gap:6px}.compare-annotate-label{font-size:11px;font-family:var(--font-mono, monospace);opacity:.7;letter-spacing:.5px;text-transform:uppercase;margin-right:2px}.compare-annotate-swatch{width:28px;height:28px;border-radius:50%;border:2px solid var(--border, rgba(0,0,0,.12));cursor:pointer;padding:0}.compare-annotate-swatch.active{border-color:var(--accent, #2DEBB8);box-shadow:0 0 0 2px var(--accent, #2DEBB8) inset}.compare-annotate-swatch-custom{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.compare-annotate-swatch-custom::-webkit-color-swatch-wrapper{padding:0}.compare-annotate-swatch-custom::-webkit-color-swatch{border:none;border-radius:50%}.compare-annotate-size-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border, rgba(0,0,0,.12));background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.compare-annotate-size-btn.active{border-color:var(--accent, #2DEBB8);background:#2debb81a}.compare-annotate-size-dot{border-radius:50%;background:currentColor}.compare-annotate-tool-btn{height:32px;min-width:32px;padding:0 10px;border-radius:8px;border:1px solid var(--border, rgba(0,0,0,.12));background:transparent;cursor:pointer;font-size:12px;font-family:var(--font-mono, monospace);display:flex;align-items:center;justify-content:center}.compare-annotate-tool-btn.active{border-color:var(--accent, #2DEBB8);background:#2debb81a}.compare-annotate-tool-btn:disabled{opacity:.4;cursor:not-allowed}.compare-annotate-viewport{position:relative;width:100%;flex:1;min-height:0;background:var(--bg, #fff);display:flex;align-items:center;justify-content:center;overflow:hidden}.compare-annotate-frame{position:relative}.compare-annotate-canvas{touch-action:none}@media (max-width: 768px){.compare-annotate-toolbar{padding:6px 10px;gap:8px}.compare-annotate-swatch{width:24px;height:24px}.compare-annotate-size-btn,.compare-annotate-tool-btn{height:28px}}
