:root{--text-caption:.75rem;--text-control:.875rem;--text-body:1rem;--text-card:1.25rem;--text-section:1.5rem;--text-title:2.25rem;--accent:#ffc629;--accent-soft:#fff5d4;--ink:#18243d;--muted:#667085;--border:#e5e8ee;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f6f9;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation;border:0}button:disabled{cursor:default;opacity:.55}button,a{transition:background-color .16s,color .16s,transform .16s}button:active:not(:disabled){transform:scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #ab7900}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;font-weight:650;line-height:1.2}p{font-size:var(--text-body);line-height:1.625}small{font-size:var(--text-caption);line-height:1.5}.muted{color:var(--muted)}.brand{width:max-content;color:var(--ink);flex-direction:column;text-decoration:none;display:flex}.brand-word{letter-spacing:-3px;font-size:44px;font-weight:850;line-height:1}.brand-dot{color:var(--accent)}.brand-caption{font-size:var(--text-caption);letter-spacing:3px;margin:7px 0 0 3px;font-weight:650;line-height:1.2}.eyebrow{font-size:var(--text-caption);letter-spacing:1.8px;color:#806013;margin-bottom:14px;font-weight:700;display:block}.auth-layout{grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.auth-story{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;padding:48px 10%;display:flex;position:relative;overflow:hidden}.auth-story:after{content:"";pointer-events:none;border:1px solid #ffc62930;border-radius:50%;width:420px;height:420px;position:absolute;top:25%;right:-290px;box-shadow:0 0 0 60px #ffc62906,0 0 0 120px #ffc62904}.auth-story .brand{color:#fff}.auth-story .eyebrow{color:var(--accent)}.auth-story h1{margin:32px 0 24px;font-size:clamp(38px,4vw,64px);line-height:1.13}.auth-story h1 em{color:var(--accent);font-style:normal}.auth-story p{color:#c3cada}.story-benefits{font-size:var(--text-control);color:#e3e7f0;gap:20px;margin:36px 0;display:grid}.story-benefits span{align-items:center;gap:12px;display:flex}.story-benefits svg{width:20px;color:var(--accent);flex-shrink:0}.auth-story small{color:#b5bdcd;letter-spacing:1.5px;margin-top:32px}.auth-main{flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:48px;display:flex}.auth-card{width:100%;max-width:400px;margin:auto}.auth-card h2{font-size:var(--text-title);margin-bottom:16px}.auth-card form{gap:22px;margin-top:32px;display:grid}label,.form-field{gap:8px;display:grid}label{font-size:var(--text-control);font-weight:600}input{width:100%;min-width:0;color:var(--ink);font-size:var(--text-body);outline-offset:2px;background:#fff;border:1px solid #d5dae3;border-radius:12px;padding:14px 16px}input::placeholder{color:#778194}.form-field small{color:var(--muted)}.password-input{position:relative}.password-input input{padding-right:56px}.password-toggle{width:44px;height:44px;color:var(--muted);background:0 0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.password-toggle:active:not(:disabled){transform:translateY(-50%)}.password-toggle:hover{background:#f1f3f7}.primary{background:var(--accent);min-height:52px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;gap:14px;padding:14px 18px;font-weight:650;display:flex}.primary:hover{background:#f3b919}.text-button{color:#735300;min-height:44px;font-size:var(--text-control);background:0 0;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:10px 0;font-weight:600;display:inline-flex}.text-button+.text-button{margin-left:16px}.auth-help{border-top:1px solid var(--border);color:var(--muted);align-items:flex-start;gap:12px;margin-top:28px;padding-top:24px;display:flex}.auth-help svg{flex-shrink:0;margin-top:4px}.auth-main footer{font-size:var(--text-caption);color:var(--muted);margin-top:44px}.mobile-brand{display:none}.email-sent{background:var(--accent-soft);border:1px solid #ebd68e;border-radius:16px;align-items:center;gap:16px;margin-top:24px;padding:20px;display:flex}.email-sent svg{flex-shrink:0}.notice{font-size:var(--text-body);overflow-wrap:anywhere;border-radius:12px;align-items:center;gap:12px;margin:20px 0;padding:16px;line-height:1.625;display:flex}.notice svg{flex-shrink:0}.notice.error{color:#a13928;background:#fff0ed}.notice.success{color:#296444;background:#e9f6ef}.notice .icon-button{flex-shrink:0;margin-left:auto}.loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:100dvh;padding:24px;display:flex}.spinner{border:3px solid #e6e9ef;border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.portal{min-height:100dvh;overflow-x:clip}.workspace{width:100%}.topbar{z-index:10;min-height:90px;padding:calc(16px + env(safe-area-inset-top)) max(24px, calc((100vw - 1120px) / 2));border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffed;justify-content:space-between;align-items:center;gap:20px;display:flex;position:sticky;top:0}.topbar .brand-word{font-size:36px}.topbar .brand-caption{letter-spacing:2px;margin-top:4px}.user{min-width:0;font-size:var(--text-control);align-items:center;gap:12px;display:flex}.user>span:not(.avatar){text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.avatar{background:var(--accent-soft);width:36px;height:36px;font-size:var(--text-caption);border:1px solid #f1dc94;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.icon-button{min-width:44px;min-height:44px;color:var(--muted);background:0 0;border-radius:12px;justify-content:center;align-items:center;padding:10px;display:inline-flex}.icon-button:hover{background:#e9edf3}.content{max-width:1168px;padding:36px 24px calc(120px + env(safe-area-inset-bottom));margin:0 auto}.screen{animation:.24s cubic-bezier(.2,.65,.3,1) both screen-in}.screen.backward{--screen-offset:-18px}@keyframes screen-in{0%{opacity:0;transform:translateY(6px) translateX(var(--screen-offset,18px))}to{opacity:1;transform:translate(0)}}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.page-heading h1{font-size:var(--text-title);overflow-wrap:anywhere;outline:none;margin-bottom:12px}.private-badge{color:var(--muted);font-size:var(--text-caption);flex-shrink:0;align-items:center;gap:6px;display:flex}.overview{background:var(--ink);color:#fff;border-radius:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:32px;display:grid;overflow:hidden}.overview>div,.overview>button{min-width:0;color:inherit;text-align:left;background:0 0;border-right:1px solid #ffffff1c;grid-template-columns:24px 1fr;gap:10px;padding:24px;display:grid}.overview>:last-child{border:0}.overview>button:hover{background:#ffffff0d}.overview>*>svg{width:20px;color:var(--accent)}.overview span{font-size:var(--text-control);color:#d1d7e4;align-self:center}.overview strong{grid-column:2;justify-content:space-between;align-items:center;font-size:32px;font-weight:600;line-height:1.2;display:flex}.overview strong svg{width:18px;color:var(--accent)}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.section-heading h2{font-size:var(--text-section);align-items:center;gap:10px;display:flex}.section-heading h2 span{background:var(--accent-soft);color:#745500;min-width:26px;height:26px;font-size:var(--text-caption);letter-spacing:0;border-radius:8px;place-items:center;padding:0 7px;display:grid}.section-heading input{width:280px;padding:12px 14px}.machine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.machine-card{border:1px solid var(--border);background:#fff;border-radius:20px;min-width:0;padding:24px;box-shadow:0 3px 12px #18243d03}.machine-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.machine-icon{background:var(--accent-soft);color:#785700;border-radius:16px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.status{color:#795700;font-size:var(--text-caption);background:#fff3d5;border-radius:20px;align-items:center;gap:6px;padding:6px 10px;display:flex}.status i{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.status.installed{color:#296444;background:#e9f6ef}.model{font-size:var(--text-caption);letter-spacing:1.5px;color:var(--muted);overflow-wrap:anywhere;margin-bottom:8px;display:block}.machine-card h3{font-size:var(--text-card);overflow-wrap:anywhere;margin-bottom:8px}.serial{color:var(--muted);overflow-wrap:anywhere}.location{font-size:var(--text-control);color:var(--muted);align-items:flex-start;gap:8px;margin:24px 0;display:flex}.location svg{flex-shrink:0;margin-top:2px}.machine-card dl{border-top:1px solid var(--border);font-size:var(--text-control);gap:14px;margin:0 0 24px;padding-top:20px;display:grid}.machine-card dl>div{justify-content:space-between;gap:16px;display:flex}.machine-card dt{color:var(--muted)}.machine-card dd{text-align:right;overflow-wrap:anywhere;margin:0}.machine-card dd.expired{color:#a13928}.manual-button{color:#694d00;width:100%;min-height:48px;font-size:var(--text-control);background:#fffae9;border:1px solid #e7dba8;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:600;display:flex}.manual-button svg{flex-shrink:0}.manual-button svg:last-child:not(:first-child){margin-left:auto}.manual-button:not(:disabled):hover{background:var(--accent-soft)}.help-strip{background:#eceff5;border-radius:16px;align-items:flex-start;gap:16px;margin-top:28px;padding:24px;display:flex}.help-strip>svg{color:#7b5a00;flex-shrink:0;margin-top:3px}.help-strip strong{font-size:var(--text-body);margin-bottom:6px;font-weight:650;display:block}.help-strip p{color:var(--muted)}.content footer{color:var(--muted);font-size:var(--text-caption);justify-content:space-between;gap:20px;padding:24px 0 0;display:flex}.document-list{gap:14px;display:grid}.document{border:1px solid var(--border);background:#fff;border-radius:20px;align-items:center;gap:18px;padding:24px;display:flex}.document-icon{background:var(--accent-soft);color:#785700;border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:52px;display:grid}.document-info{flex:1;min-width:0}.document-info h3{font-size:var(--text-card);overflow-wrap:anywhere;margin-bottom:8px}.document-info p{color:var(--muted)}.signed-badge{font-size:var(--text-caption);color:#296444;align-items:center;gap:4px;display:flex}.download-button{background:var(--accent);min-height:48px;color:var(--ink);font-size:var(--text-control);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:600;display:flex}.download-button:hover{background:#f3b919}.empty{text-align:center;color:var(--muted);background:#fff;border:1px dashed #ccd3df;border-radius:20px;grid-column:1/-1;padding:52px 24px}.empty svg{color:#967000;margin-bottom:20px}.empty h3{font-size:var(--text-card);color:var(--ink)}.empty p{margin-top:12px}.bottom-nav{z-index:20;padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffed;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #18243d06}.bottom-nav-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:520px;margin:auto;display:grid}.bottom-nav button{min-height:66px;color:var(--muted);font-size:var(--text-caption);background:0 0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px 8px;font-weight:600;display:flex}.nav-icon{border-radius:18px;place-items:center;width:68px;height:34px;transition:background-color .2s,transform .2s;display:grid;position:relative}.bottom-nav button[aria-current]{color:var(--ink)}.bottom-nav button[aria-current] .nav-icon{background:var(--accent)}.bottom-nav button:hover .nav-icon{background:var(--accent-soft)}.bottom-nav button[aria-current]:hover .nav-icon{background:var(--accent)}.nav-count{background:var(--ink);color:#fff;min-width:18px;font-size:var(--text-caption);border-radius:8px;padding:0 4px;line-height:18px;position:absolute;top:-3px;right:3px}@media (width<=800px){.auth-layout{grid-template-columns:1fr}.auth-story{display:none}.auth-main{min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom))}.mobile-brand{align-self:flex-start;margin-bottom:48px;display:block}.auth-card h2{font-size:32px}.topbar{min-height:78px;padding:calc(12px + env(safe-area-inset-top)) 20px 12px}.topbar .brand-word{font-size:32px}.user{gap:8px}.user>span:not(.avatar){max-width:180px}.content{padding:28px 20px calc(112px + env(safe-area-inset-bottom))}.page-heading h1{font-size:32px}.private-badge{display:none}.overview>div,.overview>button{grid-template-columns:1fr;gap:10px;padding:18px 14px}.overview strong{grid-column:1}.section-heading{flex-wrap:wrap}.section-heading input{width:100%}.machine-card{padding:20px}.machine-card dl>div{flex-direction:column;gap:3px}.machine-card dd{text-align:left}.document{flex-wrap:wrap;gap:14px;padding:20px}.document-info{flex-basis:calc(100% - 64px)}.signed-badge{margin-left:62px}.download-button{margin-left:auto}}@media (width<=540px){.machine-grid{grid-template-columns:1fr}.user>span:not(.avatar){display:none}.topbar .brand{flex-direction:row;align-items:center;gap:12px}.topbar .brand-caption{letter-spacing:1.5px;margin:0}.overview>div,.overview>button{padding:18px 12px}.overview strong svg{display:none}.overview span{font-size:var(--text-caption)}.machine-card dl>div{flex-direction:row;gap:16px}.machine-card dd{text-align:right}.help-strip{padding:20px}.content footer span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
