.auth-shell{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 0%,#dff2e9,transparent 55%),#f4f7f5;padding:32px 20px}.auth-card{background:white;border:1px solid #dce6df;border-radius:22px;padding:38px;width:min(100%,450px);box-shadow:0 18px 60px #144d2910}.auth-card .company-logo{width:100%;max-height:110px;object-fit:contain;margin:0 0 25px}.auth-eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#087e69;margin-bottom:12px}.auth-card h1{font-size:27px;margin:0 0 12px;letter-spacing:-.6px}.auth-card>p{color:#63736c;line-height:1.65;margin:0 0 24px}.auth-fields{display:grid;gap:18px}.auth-fields small,.auth-caption{font-size:12px;color:#65776e;line-height:1.6}.auth-card label{display:grid;gap:7px;font-size:12px;font-weight:600}.auth-card input{width:100%;border:1px solid #d8e2dc;border-radius:8px;padding:12px;font:inherit;font-size:16px}.auth-card .btn{width:100%;justify-content:center;min-height:46px}.auth-error{color:#aa3535;font-size:13px;min-height:18px}.auth-caption{border-top:1px solid #e7eee9;margin-top:24px;padding-top:18px;text-align:center}.return-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.return-line{display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid #e7eee9}.return-line small,.backup-row small{display:block;color:#6c7c73;margin-top:7px;font-size:12px}.return-line label{min-width:0}.security-panel{margin-top:24px}.security-panel .panel-title{flex-wrap:wrap;gap:10px}.security-panel .panel-title>span{font-size:12px;color:#66766b}.backup-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid #e3ebe5}.backup-row b{text-transform:capitalize}.backup-list{margin-bottom:24px}.backup-row .actions{flex-wrap:wrap;justify-content:flex-end}.badge.refund-due{background:#fff2dd;color:#8d601b}.badge.credited{background:#e5f3eb;color:#247644}.tabs{overflow-x:auto}.sidebar nav{flex-shrink:0}.sidebar{overflow-y:auto}.sidebar-bottom{padding-top:12px}
@media(max-width:760px){.auth-shell{padding:22px 14px}.auth-card{padding:28px 23px;border-radius:17px}.auth-card h1{font-size:25px}.return-metrics{grid-template-columns:1fr}.return-line{grid-template-columns:1fr 1fr;gap:12px}.return-line>div{grid-column:1/-1}.backup-row{align-items:flex-start;flex-direction:column}.backup-row .actions{justify-content:flex-start}.security-panel .form-content{padding:18px}.sidebar .nav-item{min-height:42px}.sidebar-bottom .saved{margin-top:12px}.auth-card .company-logo{max-height:90px}.security-panel .actions{display:flex;flex-direction:column;align-items:stretch}.security-panel .actions .btn{justify-content:center}}
@media print{.security-panel{display:none}}

/* Refined visual system — screen only, preserving invoice print output. */
@media screen {
  :root {
    --green:#285c48; --dark:#163e31; --text:#263a31; --muted:#6e7970;
    --line:#e4e7df; --bg:#f6f7f2; --amber:#957032;
    --cream:#f2eee2; --sage:#e8eee5; --shadow:0 4px 18px #243c2b04;
    font-family:"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:14px; -webkit-font-smoothing:antialiased;
  }
  body { background:var(--bg); }
  h1 { font-size:32px; font-weight:600; letter-spacing:-1.2px; line-height:1.2; }
  h2 { font-size:17px; letter-spacing:-.35px; font-weight:600; }
  h3 { font-size:14px; }
  .sidebar { width:246px; padding:32px 19px 22px; background:#fcfcf8; border-right:1px solid #e0e5dc; }
  .brand { min-height:63px; padding:0 10px; }
  .brand .sidebar-logo { width:191px; max-height:78px; }
  .brand-mark { background:#2b5a44; border-radius:12px; }
  .workspace-name { background:#f1f3eb; border:1px solid #e4e8dd; border-radius:13px; padding:14px 11px; margin:25px 0 29px; gap:10px; }
  .workspace-name b { font-size:12px; letter-spacing:-.2px; }
  .workspace-name small { color:#727e6d; font-size:10px; }
  .avatar { background:#e0e7d8; color:#3b5b41; width:33px; height:35px; border-radius:10px; }
  .nav-label { color:#737e6e; font-size:9px; font-weight:650; letter-spacing:1.7px; margin-bottom:14px; }
  .nav-item { color:#637160; font-size:12px; padding:12px 13px; gap:11px; min-height:45px; margin-bottom:4px; border-radius:10px; }
  .nav-item .icon { width:19px; height:19px; stroke-width:1.5; }
  .nav-item:hover { background:#eef1e7; color:#244c35; }
  .nav-item.active { background:#28523e; color:#fff; box-shadow:0 3px 7px #163e3110; font-weight:550; }
  .nav-item em { background:#e4ebe0; color:#496740; border-radius:5px; font-size:10px; }
  .nav-item.active em { color:#e0eddb; background:#ffffff19; }
  .sidebar-bottom { padding-top:25px; }
  .sidebar-bottom .nav-item { font-size:11px; min-height:40px; padding-top:9px; padding-bottom:9px; }
  .saved { font-size:10px; padding:19px 10px 0; margin-top:12px; color:#5e735e; }
  .saved small { font-size:9px; color:#6b7d65; line-height:1.7; }
  .main-shell { margin-left:246px; }
  .topbar { height:85px; padding:0 40px; background:#ffffffa8; gap:23px; border-color:#e6e9e1; }
  .breadcrumbs { color:#7a8577; font-size:11px; gap:13px; }
  .breadcrumbs b { color:#3d503e; font-weight:550; }
  .global-search { background:#f3f5ef; border:1px solid #e7ebe2; border-radius:9px; padding:4px 12px; gap:8px; }
  .global-search:focus-within { border-color:#8fa68b; box-shadow:0 0 0 3px #285c480a; }
  .global-search input { width:190px; padding:9px 0; font-size:12px; background:transparent; }
  .global-search input::placeholder { font-size:11px; color:#798474; }
  .global-search input:focus { box-shadow:none; }
  .global-search kbd { color:#809077; background:white; border-color:#dee5d8; }
  .top-date { font-size:11px; color:#63735e; padding-left:0; border:0; gap:7px; }
  .owner { width:35px; height:35px; background:#ede8d6; color:#6e7150; font-size:12px; border:3px solid #fff; box-shadow:0 0 0 1px #e3e7de; }
  .demo-banner,.live-banner { padding:9px 40px; min-height:39px; background:#edf1e7; border-color:#e3e9dc; color:#526b4d; font-size:10px; }
  .live-banner { background:#f0f3ea; }
  .demo-banner button,.live-banner button { font-size:10px; font-weight:600; color:#365c38; }
  main { padding:35px 40px 25px; max-width:1570px; }
  .page-head { margin-bottom:28px; gap:24px; }
  .page-head p { font-size:12px; color:#737e70; line-height:1.8; margin-top:8px; }
  .btn { border-radius:9px; font-size:12px; font-weight:550; padding:12px 17px; min-height:42px; gap:8px; text-decoration:none; }
  .btn .icon { width:17px; height:17px; }
  .primary { background:#2a5942; border-color:#2a5942; box-shadow:0 3px 5px #15382609; }
  .primary:hover { background:#1c432e; border-color:#1c432e; }
  .secondary { border-color:#dce3d5; color:#53674b; box-shadow:0 2px 3px #26362603; }
  .secondary:hover { border-color:#aabca0; background:#f8faf4; }
  .small-btn { min-height:33px; padding:8px 10px; border-radius:7px; font-size:10px; color:#46613d; border-color:#dce4d5; }
  .icon-btn { width:34px; height:34px; border-radius:8px; color:#6a7a62; }
  .text-button { color:#3c6345; font-size:11px; min-height:30px; }
  button:focus-visible,a:focus-visible { outline:3px solid #769860; outline-offset:3px; }
  .welcome { min-height:242px; padding:32px 36px; border-radius:19px; background:#234c39; border:1px solid #234c39; box-shadow:0 5px 15px #234c390a; }
  .welcome>div:first-child { position:relative; z-index:2; }
  .eyebrow { color:#b8cbb1; font-size:9px; letter-spacing:2px; font-weight:500; }
  .eyebrow span { width:5px; height:5px; background:#c9d39a; }
  .welcome h2 { font-family:Georgia,"Times New Roman",serif; color:#faf8eb; font-size:39px; line-height:1.12; letter-spacing:-1.2px; font-weight:400; margin:16px 0 13px; }
  .welcome h2 em { font-weight:400; color:#dbe5c3; }
  .welcome p { color:#c0cdb6; font-size:12px; line-height:1.85; }
  .welcome-link { margin-top:18px; color:#f0f2dd; font-size:11px; font-weight:500; gap:18px; }
  .welcome-link>span { width:25px; height:25px; border:1px solid #92ae7855; border-radius:50%; display:grid; place-items:center; transition:transform .18s; }
  .welcome-link:hover>span { transform:translateX(4px); }
  .hero-art { width:340px; margin-right:5px; align-self:stretch; }
  .water-ring { width:255px; height:255px; top:-18px; right:30px; border-color:#b1c69620; }
  .ring-two { width:380px; height:380px; top:-80px; right:-34px; border-color:#b1c69618; }
  .bottle-group { padding-bottom:28px; gap:0; transform:rotate(0); filter:drop-shadow(9px 16px 8px #0c2e2a35); }
  .bottle-group .bottle { height:140px; width:74px; opacity:.9; }
  .bottle-group .bottle:nth-child(2) { height:195px; width:100px; margin:0 -5px; z-index:1; }
  .bottle-group .bottle:nth-child(3) { height:162px; width:88px; }
  .hero-note { position:absolute; bottom:-4px; right:1px; display:flex; align-items:center; gap:10px; border:1px solid #e0e5c825; border-radius:12px; padding:11px 15px; background:#183e30f2; box-shadow:0 5px 16px #102b2715; }
  .hero-note-icon { display:grid; place-items:center; width:32px; height:32px; color:#cfddae; background:#ffffff09; border-radius:8px; }
  .hero-note b { color:#edf0d9; display:block; font-size:11px; font-weight:500; }
  .hero-note small { color:#b4c9a5; display:block; font-size:9px; margin-top:4px; }
  .metrics { gap:16px; margin:23px 0 33px; }
  .metric { border-radius:14px; border-color:#e1e6db; padding:24px 21px 20px; box-shadow:var(--shadow); }
  .metric-label { font-size:11px; margin-bottom:22px; color:#6a7763; font-weight:500; line-height:1.6; padding-right:25px; }
  .metric strong { color:#2f4c35; font-size:31px; font-weight:550; letter-spacing:-1.1px; font-variant-numeric:tabular-nums; }
  .metric strong small { font-size:11px; color:#7c8973; margin-left:5px; }
  .metric-note { font-size:10px; color:#737f6c; margin-top:15px; line-height:1.8; }
  .metric-icon { width:32px; height:32px; border-radius:9px; }
  .metric .metric-icon { right:17px; top:20px; }
  .metric-icon .icon { width:17px; height:17px; }
  .teal { background:#e9f0e5; color:#517c46; }
  .blue { background:#ebeff1; color:#607a85; }
  .amber { background:#f5edda; color:#987339; }
  .violet { background:#eeece4; color:#7c7961; }
  .section-heading { margin:32px 0 17px; }
  .section-heading h2 { font-size:18px; font-weight:550; color:#374a35; }
  .muted-count { font-size:10px; color:#6b7b61; background:#e9eee2; padding:4px 8px; border-radius:5px; }
  .product-grid { gap:16px; }
  .product-card { border-radius:14px; border-color:#e1e6db; padding:18px 16px; gap:13px; box-shadow:var(--shadow); transition:border-color .18s,transform .18s,box-shadow .18s; }
  .product-card:hover { border-color:#a3b790; transform:translateY(-3px); box-shadow:0 8px 20px #2a492b0a; }
  .product-visual { width:46px; height:101px; border-radius:24px 24px 11px 11px; background:#f0f3e9; flex-shrink:0; }
  .product-visual .bottle { width:36px; height:84px; filter:drop-shadow(2px 4px 2px #274a3710); }
  .product-top b { color:#344b32; font-size:12px; font-weight:550; white-space:normal; line-height:1.5; }
  .product-info>small { font-size:9px; color:#75826a; margin-top:3px; }
  .stock-dot { height:6px; width:6px; background:#7fa16a; }
  .stock-value { color:#365335; font-size:25px; letter-spacing:-.7px; margin:12px 0 9px; line-height:1.1; }
  .stock-value span { display:block; font-size:9px; color:#748367; margin-top:5px; }
  .stock-bar { height:4px; background:#eef1e7; }
  .stock-bar span { background:#89a572; }
  .stock-caption { font-size:9px; color:#718363; margin-top:8px; line-height:1.5; }
  .stock-caption.warning,.warning { color:#91662b; }
  .dashboard-columns { gap:21px; margin-top:27px; grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr); }
  .panel { border-radius:15px; border-color:#e1e6dc; box-shadow:var(--shadow); }
  .panel-title { padding:24px 23px 20px; }
  .panel-title h2 { color:#354a33; font-size:16px; font-weight:550; gap:10px; }
  .count-pill { color:#547447; border:0; background:#edf1e7; border-radius:5px; min-width:23px; font-size:10px; padding:4px 7px; }
  table:not(.invoice-items) { font-size:12px; }
  table:not(.invoice-items) th { color:#748169; background:#f7f9f3; font-size:10px; font-weight:500; border-color:#edf0e7; padding:14px 20px; }
  table:not(.invoice-items) td { color:#516447; border-color:#edf0e7; padding:18px 20px; }
  table:not(.invoice-items) td b { color:#354c32; font-size:12px; font-weight:550; }
  table:not(.invoice-items) td small { color:#77846d; font-size:10px; line-height:1.7; }
  table:not(.invoice-items) tbody tr:hover { background:#fbfcf8; }
  .customer-cell { gap:10px; min-width:140px; }
  .customer-cell .customer-icon { width:33px; height:35px; border-radius:9px; color:#6d825d; background:#eef2e7; }
  .badge { border-radius:6px; padding:6px 8px; font-size:10px; gap:5px; font-weight:500; }
  .badge.delivered,.badge.received,.badge.paid,.badge.credited { color:#447137; background:#edf3e7; }
  .badge.scheduled,.badge.ordered,.badge.part-paid,.badge.refund-due { color:#8a6929; background:#f8f1df; }
  .badge.in-transit { color:#526f83; background:#edf2f6; }
  .badge.unpaid { color:#986444; background:#faf0e8; }
  .badge.cancelled { color:#965c56; background:#f6edeb; }
  .badge.not-issued { color:#6a7466; background:#f0f2ec; }
  .deliveries-panel th,.deliveries-panel td { padding-left:19px!important; padding-right:11px!important; }
  .panel-bottom { font-size:10px; color:#6f8064; background:#fcfcf9; padding:16px 23px; }
  .chart-legend { color:#657b58; font-size:10px; gap:17px; padding:0 23px; }
  .chart-legend i { width:7px; height:7px; border-radius:2px; }
  .received { background:#cbd6b8; }
  .sent { background:#426b4b; }
  .chart-unit,.chart-axis,.chart-day>span { font-size:9px; color:#738369; }
  .chart-unit { padding:20px 23px 0; }
  .chart { height:164px; padding-left:23px; padding-right:23px; }
  .bar { width:13px; border-radius:4px 4px 0 0; }
  .bar-chart { background:repeating-linear-gradient(to bottom,transparent 0,transparent 60px,#f0f3eb 60px,#f0f3eb 61px); border-color:#eef1e8; }
  .chart-summary { color:#6c7e5e; font-size:10px; padding:17px 23px; margin-top:17px; }
  .chart-summary b { font-size:13px; color:#40643c; }
  .activity-list { padding:0 23px 12px; }
  .activity-item { padding:15px 0; gap:12px; border-color:#eef1e8; }
  .activity-symbol { width:32px; height:32px; border-radius:9px; color:#75886a; background:#f8faf3; border-color:#e8eee0; flex-shrink:0; }
  .activity-item b { font-size:12px; color:#43593a; }
  .activity-item small { font-size:10px; color:#738169; line-height:1.6; }
  .activity-item time { font-size:9px; color:#7b8872; }
  .reorder-card { background:#efefdf; border:1px solid #e4e5d1; border-radius:15px; padding:28px; }
  .reorder-card h2 { color:#505d37; font-size:20px; font-family:Georgia,"Times New Roman",serif; font-weight:400; line-height:1.4; margin-top:18px; }
  .reorder-card p { font-size:12px; color:#727a55; line-height:1.9; }
  .reorder-card .btn { color:#5e7042; border-color:#cad2b6; background:#ffffff40; margin-top:20px; }
  .reorder-card>small { font-size:10px; color:#727e55; line-height:1.7; margin-top:14px; }
  .notice { background:#edf2e8; border:1px solid #e1e9d9; border-radius:10px; font-size:12px; color:#58704d; padding:16px 19px; line-height:1.8; }
  .notice .icon { color:#657f54; }
  .tabs { border:0; background:#ebefe4; border-radius:10px; padding:5px; gap:3px; margin-bottom:23px; width:fit-content; max-width:100%; }
  .tabs button { color:#6e7f60; border:0; padding:10px 15px; font-size:11px; min-height:35px; border-radius:7px; }
  .tabs button.active { background:white; color:#3d623a; box-shadow:0 2px 5px #2441220b; }
  .empty { padding:54px 24px; color:#7b8b70; }
  .empty>.icon { padding:12px; width:58px; height:58px; border:1px solid #e3eadb; border-radius:19px; color:#8aa378; background:#f3f6ed; margin-bottom:19px; }
  .empty h3 { font-size:16px; font-weight:500; color:#4d6943; }
  .empty p { color:#76886a; font-size:12px; line-height:1.8; }
  .customer-card { border-radius:15px; border-color:#dfe6d8; padding:25px; box-shadow:var(--shadow); }
  .customer-card h2 { font-size:18px; color:#354f31; }
  .customer-card p { font-size:12px; color:#6e7e64; }
  .customer-card>small { font-size:11px; color:#728168; }
  .customer-stats { border-color:#e6ecdf; padding-top:19px; margin-top:23px; }
  .customer-stats b { color:#3e5b32; font-size:20px; }
  .customer-stats small { font-size:10px; color:#708363; }
  .company-identity { border-radius:15px; padding:27px; background:#fff; border-color:#e0e7d8; }
  .company-identity p { color:#708164; font-size:12px; }
  .form-content { padding:27px; }
  .field,.settings-panel .field { font-size:12px; font-weight:500; color:#536c48; gap:9px; }
  input:not([type=checkbox]),select,textarea { min-height:45px; padding:12px 13px; font-size:13px; border-radius:8px; border-color:#dce4d4; color:#395333; background:#fff; }
  input::placeholder,textarea::placeholder { font-size:12px; color:#829076; }
  input:focus,select:focus,textarea:focus { border-color:#809e6b; box-shadow:0 0 0 3px #dee9d54d; }
  .tax-confirm { background:#f4f6ef; border-color:#e3e9da; border-radius:10px; padding:18px; }
  .tax-confirm label,.checkbox-label { font-size:12px; color:#536c46; line-height:1.8; }
  .tax-confirm p,.form-note { font-size:11px; color:#728168; line-height:1.8; }
  input[type=checkbox] { accent-color:#3b6446; width:17px; height:17px; }
  .backup-panel { padding:27px; }
  .backup-panel h2 { font-size:19px; line-height:1.5; }
  .backup-panel p { font-size:12px; color:#6f8262; }
  .backup-panel small { font-size:11px; color:#748369; }
  .setup-note h3 { color:#597449; font-size:14px; }
  .setup-note ol { color:#76886b; font-size:12px; line-height:2.2; }
  dialog { border:1px solid #e2e9da; border-radius:18px; box-shadow:0 24px 90px #1c342933; }
  dialog::backdrop { background:#1b332a65; backdrop-filter:blur(5px); }
  .dialog-head { padding:25px 27px 21px; background:#fdfefb; border-color:#e5ebdd; }
  .dialog-head h2 { font-size:23px; font-weight:550; letter-spacing:-.7px; color:#304d2b; }
  .dialog-head p { font-size:12px; color:#728167; margin-top:7px; }
  .form-footer { margin-top:27px; padding-top:23px; border-color:#e4ebda; }
  .form-footer.wrap { gap:10px; }
  .line-row label>span { font-size:11px; color:#657b55; }
  .line-row input,.line-row select { font-size:12px; padding:11px; }
  .draft-total { background:#f0f5e9; border-radius:9px; font-size:12px; padding:18px; color:#627c4e; }
  .draft-total b { color:#456b38; }
  .detail-status { font-size:12px; color:#718562; }
  .detail-address small { font-size:10px; color:#718762; }
  .detail-address b { font-size:14px; color:#436438; }
  .detail-address p { font-size:12px; color:#6a805b; }
  .delivery-timeline { font-size:11px; background:#f0f4e9; color:#76876a; border-radius:9px; }
  .customer-history-summary { background:#eff4e8; color:#617951; font-size:12px; }
  .security-panel .panel-title>span,.security-panel .form-content>p { font-size:12px; line-height:1.8; color:#6d805e; }
  .security-panel .form-content>p { margin-bottom:15px; }
  .backup-row { padding:18px 0; border-color:#e6ecdc; }
  .backup-row small,.return-line small { color:#768866; font-size:11px; line-height:1.7; }
  .return-line { border-color:#e5ecdb; }
  .invoice-toolbar { background:#f1f5eb; }
  #toast { border-radius:11px; font-size:13px; padding:15px 21px; background:#294c34; box-shadow:0 8px 25px #18301e20; }
  footer { padding:25px 40px 30px; color:#6d7e60; font-size:10px; border-top:1px solid #e7ecdf; margin-top:15px; }
  footer>span { color:#7f8c72; }
  .loading { color:#607954; font-size:15px; }
  /* The entry screen shares the same quiet, botanical palette. */
  body.auth-mode { padding-bottom:0; }
  .auth-shell { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); min-height:100dvh; max-width:none; padding:14px; gap:0; background:#fafbf7; margin:0; }
  .auth-story { background:#e9eddf; border:1px solid #e3e8d8; border-radius:22px; display:flex; flex-direction:column; position:relative; overflow:hidden; padding:36px 46px 30px; min-height:730px; }
  .auth-story-brand .company-logo { width:228px; height:auto; }
  .auth-story-brand>span { display:block; font-size:8px; letter-spacing:2.2px; color:#748463; margin-top:15px; }
  .auth-story-copy { position:relative; z-index:2; margin-top:49px; }
  .story-kicker { color:#647b53; font-size:9px; letter-spacing:1.8px; font-weight:550; }
  .auth-story h2 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(33px,3.2vw,49px); font-weight:400; color:#345132; letter-spacing:-1.7px; line-height:1.19; margin-top:18px; }
  .auth-story h2 em { color:#637d4f; font-weight:400; }
  .auth-story-copy p { color:#768567; font-size:13px; line-height:1.85; margin-top:18px; }
  .auth-art { position:relative; height:277px; width:100%; margin:auto auto 0; max-width:420px; }
  .art-orbit { position:absolute; width:268px; height:268px; border:1px solid #a9bb922e; border-radius:50%; left:50%; top:25px; transform:translateX(-50%); }
  .orbit-two { width:385px; height:385px; top:-30px; }
  .art-plinth { position:absolute; left:50%; bottom:-9px; transform:translateX(-50%); width:290px; height:54px; border-radius:50%; background:#d6dfc8; box-shadow:0 14px 0 -2px #d1dbc1; }
  .auth-bottles { display:flex; justify-content:center; align-items:flex-end; position:absolute; width:100%; bottom:10px; filter:drop-shadow(8px 9px 4px #5f7b4e1c); }
  .auth-bottles .bottle { width:80px; height:176px; }
  .auth-bottles .bottle:nth-child(2) { width:108px; height:239px; margin:0 -4px; z-index:1; }
  .auth-bottles .bottle:nth-child(3) { width:94px; height:205px; }
  .art-seal { position:absolute; right:0; top:59px; border:1px solid #e4e9d9; border-radius:13px; padding:13px 14px; display:flex; gap:9px; align-items:center; color:#647b53; background:#fbfcf4ed; box-shadow:0 7px 22px #536c3e06; transform:rotate(5deg); }
  .art-seal .icon { width:22px; height:24px; color:#839a6b; }
  .art-seal span { font-size:10px; line-height:1.7; }
  .auth-flow { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:43px; padding-top:25px; border-top:1px solid #d8e0cc; color:#5f794b; position:relative; z-index:2; }
  .auth-flow span { display:flex; align-items:center; gap:9px; font-size:11px; }
  .auth-flow .icon { width:17px; height:17px; stroke-width:1.4; }
  .auth-flow i { width:3px; height:3px; border-radius:50%; background:#9dab8b; }
  .auth-form-panel { position:relative; display:flex; flex-direction:column; justify-content:center; padding:65px 50px 75px; }
  .auth-card { background:none; padding:0; border:0; box-shadow:none; width:100%; max-width:340px; margin:auto; border-radius:0; }
  .auth-mobile-logo { display:none; }
  .auth-eyebrow { display:flex; align-items:center; gap:8px; color:#617c4e; font-size:9px; font-weight:600; letter-spacing:1.8px; margin-bottom:20px; }
  .auth-eyebrow>span { background:#759b5a; border-radius:50%; width:5px; height:5px; }
  .auth-card h1 { font-family:Georgia,"Times New Roman",serif; font-size:44px; letter-spacing:-1.7px; font-weight:400; color:#304c2d; line-height:1.1; margin-bottom:17px; }
  .auth-card>p { color:#7a8670; font-size:13px; line-height:1.8; margin-bottom:31px; }
  .auth-fields { gap:20px; }
  .auth-card label { font-size:12px; font-weight:500; color:#59724c; gap:9px; }
  .auth-card input { font-family:inherit; font-size:14px; padding:13px 14px; min-height:48px; border-color:#dce4d3; border-radius:8px; background:#fff; color:#36532d; }
  .auth-card input::placeholder { font-size:12px; color:#929e87; }
  .auth-fields small { font-size:11px; margin-top:-10px; color:#7c8b71; }
  .auth-card .btn { min-height:49px; border-radius:9px; font-size:12px; justify-content:space-between; padding:14px 18px; background:#2f583f; box-shadow:0 4px 9px #2948320a; }
  .auth-card .btn:hover { background:#21482f; }
  .auth-error { font-size:12px; margin-top:12px; margin-bottom:10px; min-height:17px; }
  .auth-caption { display:flex; justify-content:center; align-items:center; gap:7px; border:0; margin-top:22px; padding:0; font-size:10px; color:#7c8b70; }
  .auth-caption .icon { width:14px; height:14px; color:#73955c; }
  .auth-footnote { text-align:center; position:absolute; bottom:27px; left:0; width:100%; color:#89967c; font-family:Georgia,"Times New Roman",serif; font-size:13px; font-style:italic; }
  @media(min-width:1600px) {
    .auth-story { padding-left:70px; padding-right:70px; }
    .auth-story-copy { margin-top:65px; }
    .auth-art { height:360px; max-width:480px; }
    .auth-bottles { bottom:25px; transform:scale(1.2); transform-origin:bottom; }
    .auth-card { max-width:390px; }
  }
  @media(max-width:1250px) and (min-width:761px) {
    .sidebar { width:222px; padding-left:15px; padding-right:15px; }
    .main-shell { margin-left:222px; }
    .topbar { padding:0 27px; gap:15px; }
    main { padding:30px 27px; }
    .demo-banner,.live-banner { padding-left:27px; padding-right:27px; }
    .top-date { display:none; }
    .page-head h1 { font-size:29px; }
    .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .product-card { gap:18px; padding:20px; }
    .product-top b { font-size:13px; }
    .product-visual { width:52px; }
    .stock-value span { display:inline; margin-left:4px; font-size:10px; }
    .metric { padding:20px 16px; }
    .metric strong { font-size:27px; }
    .metric-label { padding-right:26px; font-size:10px; }
    .metric-note { font-size:9px; }
    .metric .metric-icon { right:12px; top:16px; width:27px; height:27px; }
    .dashboard-columns { grid-template-columns:1fr; }
    .page-head .actions { flex-direction:row; }
    .welcome { padding:29px; }
    .welcome h2 { font-size:35px; }
    .hero-art { width:250px; }
    .hero-note { right:-7px; }
    .auth-story { padding:32px; }
    .auth-story h2 { font-size:38px; }
    .auth-form-panel { padding-left:35px; padding-right:35px; }
    .auth-story-copy { margin-top:40px; }
    .auth-flow { gap:19px; }
  }
  @media(max-width:1000px) and (min-width:761px) {
    .page-head { flex-direction:column; align-items:stretch; gap:17px; }
    .page-head .actions { flex-direction:row; }
    .global-search input { width:130px; }
    .global-search { padding-left:9px; padding-right:9px; }
    .breadcrumbs { font-size:10px; gap:7px; }
    .welcome h2 { font-size:30px; max-width:none; }
    .welcome p { font-size:11px; }
    .hero-art { width:160px; }
    .hero-art .bottle-group { transform:scale(.8); }
    .hero-note { display:none; }
    .metric-label { font-size:12px; }
    .metric-note { font-size:11px; }
    .auth-story { min-height:680px; padding:30px 26px; }
    .auth-story h2 { font-size:31px; letter-spacing:-1px; }
    .auth-story-copy p { font-size:12px; }
    .auth-art { transform:scale(.88); transform-origin:bottom center; }
    .auth-flow { gap:15px; }
    .auth-flow span { font-size:10px; gap:6px; }
    .auth-card h1 { font-size:38px; }
  }
  @media(max-width:760px) {
    .sidebar { width:min(310px,88vw); padding:65px 21px 24px; }
    .sidebar .brand { padding-left:8px; }
    .sidebar .workspace-name { margin:22px 0; }
    .sidebar .nav-item { min-height:45px; font-size:13px; }
    .sidebar-bottom .nav-item { min-height:41px; font-size:12px; }
    .sidebar-close { width:40px; height:40px; }
    .main-shell { margin-left:0; }
    .topbar { height:74px; padding:0 15px; gap:11px; }
    .topbar .icon-btn { width:31px; height:42px; }
    .global-search { padding:0 10px; border-radius:9px; flex:1; gap:7px; }
    .global-search input { width:100%; font-size:16px; min-height:42px; padding:9px 0; }
    .global-search input::placeholder { font-size:11px; }
    .global-search>.icon { width:17px; height:17px; }
    .topbar .owner { width:30px; height:30px; font-size:11px; border-width:2px; }
    .demo-banner,.live-banner { min-height:39px; padding:0 20px; font-size:9px; gap:10px; }
    .demo-banner button,.live-banner button { font-size:9px; min-height:39px; }
    main { padding:25px 20px 20px; }
    .mobile-company { margin-bottom:22px; color:#526d46; font-size:11px; }
    .mobile-company .mobile-logo { width:180px; max-height:65px; }
    .page-head { flex-direction:column; gap:18px; margin-bottom:23px; }
    .page-head h1 { font-size:28px; letter-spacing:-1.15px; line-height:1.18; }
    .page-head p { font-size:12px; line-height:1.7; margin-top:8px; }
    .page-head .actions { gap:10px; }
    .btn,.page-head .actions .btn,.form-footer .btn,.invoice-toolbar .btn { min-height:45px; border-radius:9px; font-size:12px; padding:12px 14px; }
    .btn .icon { width:17px; height:17px; }
    .welcome { min-height:266px; padding:25px; border-radius:17px; }
    .welcome h2 { font-size:33px; max-width:none; margin-top:16px; letter-spacing:-1px; line-height:1.12; }
    .welcome p { max-width:220px; font-size:11px; line-height:1.9; }
    .eyebrow { font-size:8px; letter-spacing:1.7px; }
    .welcome-link { font-size:11px; margin-top:14px; min-height:35px; }
    .hero-art { position:absolute; width:135px; height:180px; top:auto; bottom:21px; right:-18px; opacity:.23; transform:none; margin:0; }
    .hero-art .bottle-group { transform:scale(.78); padding-bottom:0; }
    .hero-note { display:none; }
    .water-ring { width:225px; height:225px; right:-20px; top:-35px; border-color:#bed1a72a; }
    .ring-two { width:315px; height:315px; right:-65px; top:-80px; }
    .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0 27px; }
    .metric { padding:18px 15px; border-radius:13px; }
    .metric .metric-icon { position:static; width:30px; height:30px; margin-bottom:13px; }
    .metric-label { font-size:11px; color:#6a7d5d; min-height:0; margin-bottom:12px; padding:0; line-height:1.5; }
    .metric strong { font-size:clamp(21px,6.2vw,29px); letter-spacing:-.8px; line-height:1.2; }
    .metric strong small { display:inline; margin-left:4px; font-size:10px; }
    .metric-note { font-size:10px; line-height:1.8; margin-top:12px; }
    .section-heading { margin:28px 0 16px; gap:12px; }
    .section-heading h2,.panel-title h2 { font-size:17px; letter-spacing:-.4px; }
    .text-button { font-size:10px; min-height:40px; white-space:nowrap; }
    .product-grid { grid-template-columns:1fr; gap:12px; }
    .product-card { gap:18px; padding:19px; border-radius:13px; }
    .product-visual { display:grid; width:58px; height:110px; border-radius:29px 29px 12px 12px; }
    .product-visual .bottle { width:42px; height:93px; }
    .product-top b { font-size:14px; }
    .product-info>small { font-size:11px; margin-top:4px; }
    .stock-value { font-size:28px; margin:12px 0 10px; }
    .stock-value span { font-size:11px; display:inline; margin-left:4px; }
    .stock-caption { font-size:10px; }
    .dashboard-columns { grid-template-columns:1fr; gap:20px; margin-top:25px; }
    .panel-title { padding:22px 19px 18px; }
    .panel { border-radius:14px; }
    table.mobile-records td, .deliveries-panel .mobile-records td { padding:9px 0 9px 43%!important; font-size:12px; min-height:34px; border:0; }
    table.mobile-records td:first-child { padding:0 0 13px!important; }
    table.mobile-records td[data-label=""] { padding:10px 0 0!important; }
    .mobile-records tbody tr { padding:19px; }
    .mobile-records td::before { color:#6c7e5f; font-size:11px; }
    .mobile-records td b,.customer-cell b { font-size:13px!important; }
    .mobile-records td small { font-size:11px!important; color:#6f8063!important; }
    .customer-cell { min-width:0; }
    .badge { font-size:10px; padding:6px 8px; }
    .panel-bottom { padding:16px 19px; font-size:10px; }
    .activity-list { padding-left:19px; padding-right:19px; }
    .activity-item { gap:10px; }
    .activity-item b { font-size:11px; }
    .activity-item small { font-size:10px; }
    .activity-item time { font-size:9px; }
    .reorder-card { padding:24px; }
    .notice { font-size:12px; padding:15px 17px; border-radius:10px; }
    .tabs { width:100%; gap:3px; border-radius:10px; }
    .tabs button { min-height:42px; font-size:11px; padding:10px 13px; }
    .customer-grid { grid-template-columns:1fr; gap:17px; }
    .customer-card { padding:24px; }
    .settings-layout { grid-template-columns:1fr; gap:22px; }
    .form-content { padding:22px 19px; }
    .form-grid { grid-template-columns:minmax(0,1fr); gap:19px; }
    .field,.settings-panel .field { font-size:12px; gap:9px; }
    input:not([type=checkbox]),select,textarea,.line-row input,.line-row select { font-size:16px; min-height:47px; padding:12px; border-radius:8px; }
    input::placeholder,textarea::placeholder { font-size:13px; }
    input[type=checkbox] { min-width:20px; height:20px; }
    .checkbox-label,.tax-confirm label { font-size:12px; }
    .form-note,.tax-confirm p { font-size:11px; }
    dialog,dialog.wide { width:calc(100vw - 20px); max-height:calc(100dvh - 28px); border-radius:16px; }
    .dialog-head { padding:22px 19px 19px; gap:13px; }
    .dialog-head h2 { font-size:22px; }
    .dialog-head p { font-size:11px; line-height:1.8; }
    .dialog-head .icon-btn { width:36px; height:36px; background:#eff3e9; }
    .form-footer { margin-top:24px; padding-top:20px; }
    .line-row { padding:18px 15px; background:#f6f9f1; border-color:#e1e9d7; }
    .line-row label>span { font-size:11px; }
    .line-row .remove-line { top:5px; right:8px; }
    .detail-address { grid-template-columns:1fr; }
    .delivery-timeline { font-size:10px; gap:5px; padding:14px 9px; }
    .company-identity { padding:23px; gap:18px; }
    .company-identity .company-logo { width:210px; }
    .backup-panel { padding:24px; }
    .backup-panel small { font-size:10px; }
    .return-metrics { grid-template-columns:1fr; }
    .return-metrics .metric { padding:22px; }
    .security-panel .form-content { padding:22px 19px; }
    .bottom-nav { padding:9px 10px calc(9px + env(safe-area-inset-bottom)); border-color:#e1e8d8; background:#fffffff5; backdrop-filter:blur(15px); box-shadow:0 -3px 18px #2a412707; }
    .bottom-nav button { font-size:9px; color:#738668; gap:6px; min-height:51px; border-radius:10px; }
    .bottom-nav .icon { width:21px; height:21px; stroke-width:1.5; }
    .bottom-nav [aria-current=page] { background:#eaf0e2; color:#3c6539; }
    #toast { bottom:calc(87px + env(safe-area-inset-bottom)); }
    footer { padding:21px 20px 23px; font-size:9px; line-height:1.7; }
    .auth-shell { display:flex; flex-direction:column; padding:0; min-height:100dvh; background:#fafbf6; }
    .auth-story { display:none; }
    .auth-form-panel { flex:1; padding:40px 27px 76px; min-height:100dvh; }
    .auth-card { max-width:390px; margin:auto; }
    .auth-mobile-logo { display:block; }
    .auth-mobile-logo .company-logo { width:217px; max-height:80px; margin:0 0 44px; object-position:left; }
    .auth-eyebrow { font-size:8px; letter-spacing:1.7px; margin-bottom:17px; }
    .auth-card h1 { font-size:43px; margin-bottom:16px; }
    .auth-card>p { font-size:13px; margin-bottom:30px; }
    .auth-card input { font-size:16px; min-height:49px; }
    .auth-card input::placeholder { font-size:13px; }
    .auth-fields { gap:21px; }
    .auth-fields small { margin-top:-9px; font-size:11px; }
    .auth-card .btn { min-height:49px; font-size:13px; padding:14px 17px; }
    .auth-caption { font-size:10px; margin-top:23px; gap:7px; }
    .auth-footnote { bottom:24px; font-size:12px; }
  }
  @media(prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
    .product-card:hover,.welcome-link:hover>span { transform:none; }
  }
}
@media screen {
  .topbar .global-search input { border:0; box-shadow:none; background:transparent; min-height:35px; padding:7px 0; }
  .auth-shell { place-items:stretch; }
  .page-head p,.metric-note,.product-info>small,.stock-caption,.activity-item small,
  .auth-card>p,.auth-fields small,.auth-caption,.auth-footnote,.auth-story-copy p,
  .auth-story-brand>span,footer>span { color:#68765f; }
  .auth-card input::placeholder { color:#75826a; }
  @media(max-height:820px) and (min-width:761px) {
    .auth-story { min-height:calc(100dvh - 28px); padding-top:26px; padding-bottom:24px; }
    .auth-story-copy { margin-top:28px; }
    .auth-story h2 { font-size:36px; }
    .auth-art { height:205px; }
    .auth-bottles { transform:scale(.82); transform-origin:bottom center; bottom:7px; }
    .art-orbit { transform:translateX(-50%) scale(.82); transform-origin:bottom; top:-3px; }
    .orbit-two { top:-65px; }
    .art-seal { top:30px; }
    .auth-flow { margin-top:25px; padding-top:19px; }
    .auth-form-panel { padding-top:45px; padding-bottom:65px; }
  }
  @media(max-width:760px) {
    .topbar .global-search input { min-height:42px; padding:9px 0; }
    .metric strong { font-size:clamp(21px,5.8vw,26px); }
  }
}
.bill-alternative { border-top:1px solid var(--line); margin-top:24px; padding-top:22px; display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:12px; color:#647859; }
@media screen {
  .invoice-paper { padding:39px; color:#293e2c; }
  .invoice-heading { border-bottom:2px solid #2f603b; padding-bottom:26px; }
  .invoice-heading h2 { font-size:21px; font-weight:600; color:#2e4b30; }
  .invoice-heading .invoice-logo { width:205px; max-height:74px; margin-bottom:19px; }
  .invoice-heading p,.invoice-parties p { color:#61715a; font-size:11px; line-height:1.8; }
  .invoice-title h2 { color:#45683d; font-size:15px; letter-spacing:2px; font-weight:550; }
  .invoice-title small { font-size:8px; color:#6d7e62; letter-spacing:.6px; }
  .invoice-title b { font-size:15px; color:#3c5936; }
  .invoice-title span { font-size:10px; color:#68775e; }
  .invoice-parties { padding:27px 0; }
  .invoice-parties small { font-size:9px; color:#6b805c; letter-spacing:1.5px; }
  .invoice-parties b { font-size:14px; color:#39572f; }
  .invoice-items th { color:#527346; font-size:10px; padding:13px 11px; background:#f0f5e9; border-color:#e0e9d6; }
  .invoice-items td { padding:17px 11px; font-size:11px; color:#536a46; border-color:#e4ebdd; }
  .invoice-items td b { font-size:12px; color:#3e5a31; }
  .invoice-items td small { font-size:9px; color:#6f825f; }
  .invoice-totals { width:300px; margin-top:25px; }
  .invoice-totals>div { font-size:12px; color:#67785a; padding:10px 13px; }
  .invoice-totals b { color:#355630; }
  .invoice-totals .grand-total { border-color:#d5e1c9; background:#eff4e8; border-radius:7px; font-size:16px; padding:16px 13px; }
  .invoice-foot { border-color:#dfe8d6; padding-top:25px; margin-top:32px; }
  .invoice-foot b { font-size:11px; color:#536d44; }
  .invoice-foot p { color:#6d7d5f; font-size:10px; line-height:1.9; }
  .signature { font-size:10px; color:#536f45; }
  .invoice-thanks { color:#798b69; font-size:10px; font-family:Georgia,"Times New Roman",serif; font-style:italic; }
  @media(max-width:760px) {
    .invoice-paper { padding:23px 17px; }
    .invoice-heading { flex-direction:column; gap:23px; }
    .invoice-heading>div:first-child { border-bottom:1px solid #e4ebdb; padding-bottom:20px; }
    .invoice-title { align-items:flex-start; text-align:left; }
    .invoice-title h2 { font-size:16px; }
    .invoice-parties { grid-template-columns:1fr; gap:22px; padding:25px 0; }
    .invoice-totals { width:min(300px,100%); }
    .invoice-foot { grid-template-columns:1fr; gap:24px; }
    .invoice-heading .invoice-logo { width:215px; max-height:74px; }
    .invoice-items { min-width:465px; }
    .invoice-toolbar .field { width:100%; }
  }
}
@media print {
  .invoice-paper { color:#111; }
  .invoice-heading { border-color:#295937; }
  .invoice-items th { background:#edf3e7!important; color:#1f3824; font-size:10px; }
  .invoice-items td { font-size:10px; }
  .invoice-totals .grand-total { background:#edf3e7!important; color:#243d28; border-color:#c7d6bd; }
  .invoice-thanks { color:#596d4e; }
}
