:root{--ink:#111;--muted:#6e6e73;--line:#e9e9ed;--bg:#fff;--soft:#f7f7f8;--accent:#111;--green:#14804a;--red:#b42318;--amber:#a15c00;--shadow:0 18px 50px rgba(0,0,0,.08);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;width:246px;padding:20px 14px 16px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;z-index:80}.brand{display:flex;align-items:center;gap:11px;padding:8px 10px 22px}.brand-mark{width:38px;height:38px;border-radius:12px;background:#111;color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;letter-spacing:-.03em}.brand strong{display:block;font-size:14px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:4px;overflow:auto}.nav-item{display:flex;align-items:center;gap:10px;padding:11px 11px;border-radius:12px;color:#56565c;font-weight:600;transition:.18s}.nav-item:hover{background:#f4f4f5;color:#111}.nav-item.active{background:#111;color:#fff}.nav-icon{width:20px;text-align:center;font-size:15px}.sidebar-foot{margin-top:auto}.sidebar-note{padding:10px 11px;color:#9a9a9f;font-size:10px}.main-content{margin-left:246px;width:calc(100% - 246px);min-width:0}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(233,233,237,.9);display:flex;align-items:center;gap:14px;padding:18px 28px}.topbar h1{margin:2px 0 0;font-size:24px;letter-spacing:-.03em}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:800;color:#9a9a9f}.user-chip{margin-left:auto;display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:8px 11px;border-radius:999px;font-weight:600;font-size:11px}.user-dot{width:7px;height:7px;border-radius:50%;background:#111}.content-wrap{padding:26px 28px 44px;max-width:1500px;margin:0 auto}.grid{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff}.card.soft{background:var(--soft)}.metric{min-height:132px;display:flex;flex-direction:column;justify-content:space-between}.metric-label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:28px;font-weight:800;letter-spacing:-.04em}.metric-sub{font-size:11px;color:var(--muted)}.positive{color:var(--green)}.negative{color:var(--red)}.section{margin-top:22px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title{font-size:15px;font-weight:800;letter-spacing:-.02em}.section-caption{font-size:11px;color:var(--muted);margin-top:2px}.btn{border:1px solid #111;background:#111;color:#fff;padding:10px 14px;border-radius:11px;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px}.btn:hover{opacity:.9}.btn.secondary{background:#fff;color:#111;border-color:var(--line)}.btn.soft{background:var(--soft);color:#111;border-color:var(--soft)}.btn.danger{background:#fff;color:var(--red);border-color:#f0c9c6}.btn.green{background:#0d6e42;border-color:#0d6e42}.btn.small{padding:7px 10px;min-height:34px;font-size:11px;border-radius:9px}.actions{display:flex;flex-wrap:wrap;gap:7px}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.field{grid-column:span 12}.field.s6{grid-column:span 6}.field.s4{grid-column:span 4}.field.s3{grid-column:span 3}.field label{display:block;font-size:11px;font-weight:700;margin:0 0 6px;color:#46464b}.field input,.field select,.field textarea{width:100%;border:1px solid #dddde2;background:#fff;border-radius:11px;padding:11px 12px;outline:none;transition:border-color .18s,box-shadow .18s;min-height:42px}.field textarea{min-height:94px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.06)}.field-help{font-size:10px;color:var(--muted);margin-top:5px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.file-input{padding:9px 10px!important}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.data-table{width:100%;border-collapse:collapse;min-width:780px}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#86868b;background:#fafafa;text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);position:sticky;top:0}.data-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:12px}.data-table tr:last-child td{border-bottom:0}.product-mini{display:flex;align-items:center;gap:9px}.thumb{width:38px;height:38px;border-radius:9px;background:#f2f2f4;object-fit:cover;display:block}.thumb.lg{width:52px;height:52px;border-radius:12px}.thumb-placeholder{display:grid;place-items:center;color:#a2a2a7;font-size:10px}.sku{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:#75757a}.status-pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em}.status-pending{background:#f5f5f6;color:#55565b}.status-shipped{background:#fff5e7;color:var(--amber)}.status-paid{background:#e9f8f0;color:var(--green)}.list-stack{display:flex;flex-direction:column;gap:9px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-main{min-width:0}.list-title{font-weight:700;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-meta{font-size:10px;color:var(--muted);margin-top:2px}.progress{height:7px;border-radius:99px;background:#f0f0f2;overflow:hidden;margin-top:8px}.progress>i{display:block;height:100%;background:#111;border-radius:99px}.empty{padding:30px 14px;text-align:center;color:#8a8a90;font-size:12px}.hero-row{display:flex;gap:14px;align-items:stretch}.hero-grow{flex:1}.note{padding:12px 13px;border-radius:13px;background:#f7f7f8;font-size:11px;color:#666}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.filter-bar .field{min-width:150px;flex:1;margin:0}.filter-bar .btn{flex:0}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.44);display:none;align-items:center;justify-content:center;padding:18px;z-index:200}.modal-backdrop.open{display:flex}.modal-card{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 0}.modal-head h3{margin:2px 0 0;font-size:18px;letter-spacing:-.03em}.modal-body{padding:16px 18px}.modal-actions{padding:0 18px 18px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.confirm-box{font-size:13px;color:#4e4e53}.confirm-box strong{color:#111}.server-flash{display:none}.footer{padding:0 28px 22px;color:#aaa;font-size:10px;display:flex;justify-content:space-between}.mobile-menu-btn{display:none}.mobile-overlay{display:none}.icon-btn{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;font-size:20px;color:#111}.hamb{display:flex;flex-direction:column;gap:3px}.hamb i{width:15px;height:2px;background:#111;border-radius:2px}.calc-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:11px}.calc-line.total{font-weight:800;font-size:13px;border-top:1px solid var(--line);padding-top:9px;margin-top:4px}.mini-stat{padding:13px 14px;border:1px solid var(--line);border-radius:14px}.mini-stat .v{font-size:18px;font-weight:800}.mini-stat .l{font-size:10px;color:var(--muted);margin-top:2px}.receipt-badge{font-size:9px;color:#0d6e42;background:#e9f8f0;padding:5px 8px;border-radius:999px;font-weight:800}.danger-text{color:var(--red)}.locked{opacity:.58;pointer-events:none}
@media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:1fr 1fr}.field.s4{grid-column:span 6}.field.s3{grid-column:span 6}}
@media (max-width:760px){body{font-size:13px}.sidebar{transform:translateX(-102%);transition:transform .22s ease;width:86%;max-width:310px;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.mobile-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:70}.main-content{margin-left:0;width:100%}.topbar{padding:13px 14px;gap:10px}.topbar h1{font-size:19px}.mobile-menu-btn{display:grid}.user-chip{font-size:10px;padding:7px 9px}.content-wrap{padding:18px 14px 34px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.hero-row{flex-direction:column}.field.s6,.field.s4,.field.s3{grid-column:span 12}.form-actions{justify-content:stretch}.form-actions .btn{flex:1}.section-head{align-items:flex-start;flex-direction:column}.section-head .btn{width:100%}.filter-bar{display:grid;grid-template-columns:1fr 1fr}.filter-bar .field{min-width:0}.filter-bar .btn{grid-column:span 2}.card{padding:14px}.metric{min-height:114px}.metric-value{font-size:25px}.data-table{min-width:720px}.table-wrap{border-radius:13px}.footer{padding:0 14px 16px}.modal-backdrop{padding:10px;align-items:flex-end}.modal-card{max-height:92vh;border-radius:20px 20px 0 0}.nav-item{padding:12px}.actions .btn.small{flex:1}.thumb{width:36px;height:36px}}

/* v1.1 functional additions: no desktop identity changes */
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
form,.field,.form-grid{min-width:0;max-width:100%}
.card,.hero-grow,.modal-body,.modal-body>form,.data-table,.product-mini,.list-row{min-width:0}
.nav-icon{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px}
.nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.brand-logo{width:38px;height:38px;border-radius:12px;object-fit:cover}
.nav-logout .nav-icon svg{width:18px;height:18px}
.login-logo{width:46px;height:46px;border-radius:12px;object-fit:cover}
.password-toggle{position:absolute;right:4px;top:3px;width:38px;height:38px;border:0;border-radius:9px;background:#fff;color:#555;display:grid;place-items:center;padding:0}
.password-toggle:hover{background:#f5f5f6}
.eye-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.eye-closed{display:none}
.password-toggle.is-visible .eye-open{display:none}
.password-toggle.is-visible .eye-closed{display:block}
.password-wrap{position:relative}
.password-wrap input{padding-right:50px!important}
.install-page{min-height:100dvh;background:linear-gradient(180deg,#fff 0,#fafafa 100%);padding:20px}
.install-shell{width:min(820px,100%);margin:0 auto;padding:22px 0 40px}
.install-brand{display:flex;align-items:center;gap:12px;padding:6px 4px 18px}
.install-brand img{width:44px;height:44px;border-radius:12px;object-fit:cover}
.install-brand strong{display:block;font-size:15px;margin-top:2px}
.install-card{box-shadow:0 20px 70px rgba(0,0,0,.06)}
.install-title{font-size:24px;letter-spacing:-.04em}
.install-warning{margin-top:16px;padding:12px 14px;border:1px solid #ece5d1;background:#fffaf0;border-radius:13px;font-size:11px;color:#675722;overflow-wrap:anywhere}
.inline-message{margin:14px 0 0;padding:12px 13px;border-radius:13px;display:flex;gap:8px;flex-direction:column;font-size:11px}
.inline-message.error{background:#fff1ef;color:#8b2119;border:1px solid #f3ccc7}
.inline-message.success{background:#eefaf4;color:#17633f;border:1px solid #cdebdc}
.install-check{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fafafa;font-size:11px;color:#555;cursor:pointer}
.install-check input{width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:#111}
.install-foot{text-align:center;color:#aaa;font-size:10px;margin-top:14px}
.modal-body{overflow-x:hidden}
.modal-body>form{width:100%;max-width:100%}
.modal-body .form-grid > *{min-width:0;max-width:100%}
.modal-body .field input,.modal-body .field select,.modal-body .field textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
.field input[type=date]{appearance:none;-webkit-appearance:none}
.field input[type=date]::-webkit-date-and-time-value{text-align:left}
.modal-error-line{margin-bottom:7px}
@media (max-width:760px){
  html{scroll-behavior:auto}
  body{font-size:13px;overflow-x:hidden;touch-action:manipulation}
  .sidebar{transform:translateX(-102%);transition:transform .22s ease;width:86%;max-width:310px;box-shadow:var(--shadow)}
  .sidebar.open{transform:translateX(0)}
  .mobile-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:70}
  .main-content{margin-left:0;width:100%;min-width:0}
  .topbar{padding:13px 14px;gap:10px}
  .topbar h1{font-size:19px}
  .mobile-menu-btn{display:grid}
  .user-chip{font-size:10px;padding:7px 9px}
  .content-wrap{padding:18px 14px 34px}
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr}
  .hero-row{flex-direction:column}
  .field.s6,.field.s4,.field.s3{grid-column:span 12}
  .form-actions{justify-content:stretch}
  .form-actions .btn{flex:1}
  .section-head{align-items:flex-start;flex-direction:column}
  .section-head .btn{width:100%}
  .filter-bar{display:grid;grid-template-columns:1fr 1fr}
  .filter-bar .field{min-width:0}
  .filter-bar .btn{grid-column:span 2}
  .card{padding:14px}
  .metric{min-height:114px}
  .metric-value{font-size:25px}
  .data-table{min-width:720px}
  .table-wrap{border-radius:13px}
  .footer{padding:0 14px 16px}

  /* Mobile modal: one field per line, never wider than the modal. */
  .modal-backdrop{padding:0;align-items:flex-end;overflow:hidden}
  .modal-card{width:100%;max-width:100%;max-height:94dvh;border-radius:20px 20px 0 0;overflow-x:hidden}
  .modal-head{padding:15px 14px 0}
  .modal-body{padding:14px;overflow-x:hidden}
  .modal-actions{padding:0 14px 14px}
  .modal-actions .btn{flex:1;min-width:120px}
  .modal-body form,.modal-body .form-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;width:100%;max-width:100%;min-width:0}
  .modal-body .form-grid{gap:10px}
  .modal-body .field,.modal-body .field.s6,.modal-body .field.s4,.modal-body .field.s3{grid-column:1 / -1!important;width:100%;max-width:100%;min-width:0}
  .modal-body .field label{max-width:100%}
  .modal-body .field input,.modal-body .field select,.modal-body .field textarea{font-size:16px!important;min-height:46px;width:100%!important;max-width:100%!important;min-width:0!important}
  .modal-body .field input[type=file]{font-size:16px!important;padding:10px!important}
  .modal-body .field input[type=date]{width:100%!important;min-width:0!important;max-width:100%!important;height:46px;padding:10px 10px}
  .modal-body .field input[type=date]::-webkit-datetime-edit,.modal-body .field input[type=date]::-webkit-datetime-edit-fields-wrapper{min-width:0}
  .modal-body .field select{padding-right:34px}

  /* Never let iOS/Android auto-zoom a form control. */
  input,select,textarea,button{font-size:16px}
  input,select,textarea{scroll-margin-top:80px}

  .password-toggle{width:40px;height:40px}
  .thumb{width:36px;height:36px}
  .install-page{padding:12px}
  .install-shell{padding:8px 0 26px}
  .install-card{padding:14px}
  .install-title{font-size:21px}
  .install-brand{padding:5px 2px 14px}
  .install-warning{font-size:11px}
  .install-grid{grid-template-columns:1fr}
  .install-grid .field.s6{grid-column:span 1}
  .install-grid .field{grid-column:span 1}
  .install-grid input,.install-grid select,.install-grid textarea{font-size:16px!important;width:100%;max-width:100%;min-width:0}
}
