:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#587255;--color-primary-dark:#455c43;--color-accent:#d86c27;--color-bg:#fff;--color-bg-alt:#f5f5f3;--color-text:#24291f;--color-text-muted:#6b6f64;--color-border:#e1e0db}*{box-sizing:border-box}html,body,#root{height:100%}html{scrollbar-gutter:stable;overflow-y:scroll}body{background:var(--color-bg-alt);color:var(--color-text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--color-primary)}.portal-shell{flex-direction:column;min-height:100%;display:flex}.portal-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.portal-brand{align-items:center;gap:12px;display:flex}.portal-logo{height:36px;display:block}.portal-brand__customer{color:var(--color-text-muted);font-size:14px;font-weight:600}.portal-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.portal-nav a{color:var(--color-text);border-radius:6px;align-items:center;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.portal-nav a:hover{background:var(--color-bg-alt)}.portal-nav a.active{background:var(--color-primary);color:#fff}.portal-nav button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:14px}@media (width<=640px){.portal-header{flex-direction:column;align-items:center}.portal-nav{flex-direction:column;gap:8px;width:100%}.portal-nav a,.portal-nav button{justify-content:center;width:100%;padding:14px 16px;font-size:16px}}.portal-main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:32px 20px 64px}.portal-centered{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.auth-shell{flex-direction:column;align-items:center;width:100%;display:flex}.auth-logo{height:44px;margin-bottom:20px}h1,h2,h3{color:var(--color-text)}h1{font-size:24px}h2{margin-top:0;font-size:18px}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;margin-bottom:16px;padding:20px}.field{margin-bottom:16px}label{color:var(--color-text-muted);margin-bottom:4px;font-size:13px;font-weight:600;display:block}input,textarea{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);border-radius:6px;padding:9px 11px;font-family:inherit;font-size:14px}input:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.password-field{position:relative}.password-field input{padding-right:56px}.password-field__toggle{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-size:12px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-field__toggle:hover{color:var(--color-text)}button{font-family:inherit}button.primary{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 18px;font-size:14px;font-weight:600}button.primary:hover:not(:disabled){background:var(--color-primary-dark)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:6px;padding:10px 18px;font-size:14px}button.link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.error-banner{color:#b3261e;background:#fdecea;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:14px}.success-banner{color:var(--color-primary-dark);background:#eaf3e9;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:14px}.muted{color:var(--color-text-muted);font-size:13px}.accent{color:var(--color-accent)}.auth-card{width:100%;max-width:400px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 6px;font-size:14px}th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.faq-category{margin-top:20px}.faq-category:first-of-type{margin-top:8px}.faq-category h3{color:var(--color-accent);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;font-size:14px}.faq-item{border-bottom:1px solid var(--color-border);padding:10px 0}.faq-item summary{cursor:pointer;font-size:14px;font-weight:600;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"+";width:16px;color:var(--color-primary);font-weight:700;display:inline-block}.faq-item[open] summary:before{content:"−"}.faq-item p{color:var(--color-text-muted);margin:8px 0 0 16px;font-size:14px}@media (width<=640px){.faq-item summary,.faq-item p{font-size:15px}}.info-list{margin:16px 0 0}.info-row{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.info-row:last-child{border-bottom:none}.info-row dt{color:var(--color-text-muted);font-size:13px}.info-row dd{text-align:right;margin:0;font-size:14px}.save-note-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:10px 18px;font-size:14px;font-weight:700}.save-note-btn--dirty{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.save-note-btn--dirty:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.save-note-btn--idle{border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;background:0 0}.crate-icon{object-fit:contain;vertical-align:middle;flex:none;width:26px;height:26px}.step-progress{gap:8px;margin-bottom:24px;display:flex}.step-progress .dot{background:var(--color-border);border-radius:2px;flex:1;height:4px}.step-progress .dot.done{background:var(--color-primary)}.confirm-overlay{z-index:100;background:#24291f66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-dialog{width:100%;max-width:360px;margin-bottom:0}.confirm-dialog__actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}
