/* Lumen Web theme. Calm blue workspace, Inter, light cards.
   Previous look is kept in style_backup_20260927. */
@font-face{
  font-family:Inter;font-style:normal;font-weight:400;font-display:swap;
  src:url("/static/fonts/inter-cyrillic.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:Inter;font-style:normal;font-weight:600;font-display:swap;
  src:url("/static/fonts/inter-cyrillic-600.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:Inter;font-style:normal;font-weight:700;font-display:swap;
  src:url("/static/fonts/inter-cyrillic-700.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:Inter;font-style:normal;font-weight:400;font-display:swap;
  src:url("/static/fonts/inter-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:Inter;font-style:normal;font-weight:600;font-display:swap;
  src:url("/static/fonts/inter-latin-600.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:Inter;font-style:normal;font-weight:700;font-display:swap;
  src:url("/static/fonts/inter-latin-700.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{
  --lm-bg:#f4f7fb;
  --lm-surface:#ffffff;
  --lm-text:#0f172a;
  --lm-muted:#64748b;
  --lm-border:#e6ebf2;
  --lm-accent:#2563eb;
  --lm-accent-h:#1d4ed8;
  --lm-accent-p:#1e40af;
  --lm-accent-s:#eff6ff;
  --lm-sidebar:#0f172a;
  --lm-sidebar-muted:#94a3b8;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:var(--lm-bg);color:var(--lm-text);
  font-family:Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  font-size:14px;
}

/* ---------- App shell (desktop-like tabs) ---------- */
.lumen-shell{display:flex;flex-direction:column;min-height:100vh}
.lumen-desktop-head{
  height:52px;background:#fff;border-bottom:1px solid var(--lm-border);
  display:flex;align-items:center;gap:18px;padding:0 18px;
}
.lumen-brand{display:flex;align-items:center;gap:8px;padding:0}
.lumen-brand-name{font-size:18px;font-weight:700;letter-spacing:-.02em;color:#0f172a}
.lumen-mark{
  width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  background:#2563eb;color:#fff;
}
.lumen-mark-lg{width:40px;height:28px;border-radius:6px}
.lumen-nav{display:flex;align-items:stretch;gap:0;flex:1}
.lumen-nav a{
  color:#64748b;text-decoration:none;padding:16px 14px 14px;border-radius:0;
  font-size:14px;font-weight:500;border-bottom:2px solid transparent;
  transition:color .12s,border-color .12s;
}
.lumen-nav a:hover{background:transparent;color:#0f172a}
.lumen-nav a.active{background:transparent;color:#2563eb;border-bottom-color:#2563eb;font-weight:600}
.lumen-nav a.has-draft{
  background:#fff7ed;color:#9a3412;border-bottom-color:#f59e0b;
  box-shadow: inset 0 -2px 0 #f59e0b;
}
/* Edit mode nav tab */
.lumen-nav a.lumen-edit-active{
  background:#fff7ed;color:#b45309;border-bottom-color:#f59e0b;
  font-weight:700;pointer-events:none;cursor:default;
}
.lumen-nav a.lumen-edit-disabled{
  color:#9ca3af;background:#f8fafc;border-bottom-color:transparent;
  opacity:.48;filter:grayscale(1);pointer-events:none;cursor:not-allowed;
  text-decoration:none
}
.lumen-nav a.lumen-edit-disabled:hover{color:#9ca3af;background:#f8fafc}
/* Edit mode card border */
.lumen-edit-card{
  border:2px solid #f59e0b !important;
}
.lumen-edit-card .lumen-card-title{color:#b45309}
/* Edit mode badge */
.lumen-edit-badge{
  display:inline-block;
  background:#fff7ed;color:#b45309;border:1px solid #f59e0b;
  border-radius:6px;padding:2px 10px;font-size:12px;font-weight:700;
}
/* Edit mode save button */
.lumen-btn-edit-save{
  background:#b45309;color:#fff;border:1.5px solid #92400e;
  border-radius:8px;font-weight:700;
}
.lumen-btn-edit-save:hover{background:#92400e;color:#fff}
/* Edit mode alert bar */
.lumen-edit-tab-guard{
  background:#fff7ed;border-bottom:2px solid #f59e0b;
  color:#b45309;font-size:13px;font-weight:600;
  padding:6px 14px;display:none;
}
.lumen-head-actions{display:flex;align-items:center;gap:8px}
.lumen-role-badge{font-size:11px;color:#6b7280}
.lumen-logout{color:#b91c1c;text-decoration:none;font-size:12px}
.lumen-logout:hover{color:#7f1d1d}

.lumen-main{flex:1;display:flex;flex-direction:column;min-width:0}
.lumen-topbar{
  display:flex;align-items:center;justify-content:flex-end;gap:12px;
  min-height:6px;padding:3px 12px;background:var(--lm-surface);border-bottom:1px solid var(--lm-border);
}
.lumen-page-title{display:none}
.lumen-topbar-right{display:flex;gap:8px;align-items:center}
.lumen-content{padding:10px 12px;flex:1}
.lumen-footer{padding:8px 12px;color:var(--lm-muted);font-size:11px;border-top:1px solid var(--lm-border)}
body.lumen-new-order-page{overflow:hidden}
body.lumen-new-order-page .lumen-shell{height:100vh;min-height:0;overflow:hidden}
body.lumen-new-order-page .lumen-main{min-height:0;overflow:hidden}
body.lumen-new-order-page .lumen-content{min-height:0;overflow:hidden;padding:6px 10px 4px}
body.lumen-new-order-page .lumen-footer{display:none}
body.lumen-new-order-page .lumen-topbar{display:none}

/* ---------- Cards / stats ---------- */
.lumen-card{
  background:var(--lm-surface);border:1px solid var(--lm-border);border-radius:12px;
  padding:16px 18px;box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.lumen-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.lumen-card-title{font-size:16px;font-weight:700;margin:0;letter-spacing:-.01em}
.lumen-stat{
  background:var(--lm-surface);border:1px solid var(--lm-border);border-radius:14px;
  padding:16px 18px;
}
.lumen-stat-value{font-size:28px;font-weight:800;color:var(--lm-accent-p)}
.lumen-stat-label{color:var(--lm-muted);font-size:13px;margin-top:2px}
.lumen-link{color:var(--lm-accent-p);text-decoration:none;font-size:13px;font-weight:600}
.lumen-link:hover{text-decoration:underline}

/* ---------- Tables ---------- */
.lumen-table thead th{
  font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--lm-muted);
  border-bottom:1px solid var(--lm-border);font-weight:600;
}
.lumen-table tbody td{border-bottom:1px solid #f0f0f4}
.lumen-order-no{
  font-weight:700;color:var(--lm-accent-p);background:var(--lm-accent-s);
  padding:2px 8px;border-radius:6px;font-size:13px;
}

/* ---------- Buttons ---------- */
.lumen-btn-primary{
  background:#2563eb;color:#fff;border:1px solid #2563eb;
  font-weight:600;border-radius:8px;padding:8px 16px;
}
.lumen-btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.lumen-btn-soft{
  background:#fff;color:#334155;border:1px solid #e2e8f0;
  font-weight:600;border-radius:8px;padding:8px 16px;
}
.lumen-btn-soft:hover{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}
.lumen-btn-warning{
  background:#fef3c7;color:#92400e;border:1px solid #f59e0b;
  font-weight:700;border-radius:9px;padding:8px 16px;
}
.lumen-btn-warning:hover{background:#fde68a;color:#78350f}

.lumen-report-window{background:#f3f4f6;min-height:100%}
.lumen-report-header{display:flex;align-items:center;gap:12px;background:#fff;border-bottom:1px solid #dbe3ee;padding:10px 16px}
.lumen-report-title{font-size:17px;font-weight:850;color:#0f172a;text-transform:uppercase}
.lumen-report-period{margin-left:auto;font-size:13px;font-weight:650;color:#475569}
.lumen-report-tabs{display:flex;gap:3px;padding:10px 14px 0;background:#f3f4f6}
.lumen-report-tab{border:1px solid #d7dee8;border-bottom:none;border-radius:6px 6px 0 0;background:#f1f5f9;color:#475569;padding:8px 18px;font-weight:700}
.lumen-report-tab.active{background:#6366f1;color:#fff}
.lumen-report-panel{display:none;padding:12px 16px}
.lumen-report-panel.active{display:block}
.lumen-report-card{background:#fff;border:1px solid #d7dee8;border-radius:10px;padding:12px}
.lumen-report-actions{display:flex;gap:8px;align-items:center;background:#fff;border-top:1px solid #dbe3ee;padding:8px 12px}
.lumen-report-copy-area{background:#f3f4f6}

/* ---------- Login ---------- */
.lumen-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(1200px 600px at 50% -10%,#efe7ff 0%,var(--lm-bg) 60%);padding:20px}
.lumen-login-card{
  width:100%;max-width:400px;background:var(--lm-surface);border:1px solid var(--lm-border);
  border-radius:18px;padding:28px;box-shadow:0 12px 40px rgba(126,34,206,.12);
}
.lumen-login-brand{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.lumen-login-title{font-size:24px;font-weight:800}
.lumen-login-sub{color:var(--lm-muted);font-size:13px}
.lumen-field-label{font-size:12px;font-weight:600;color:#64748b;letter-spacing:0;text-transform:none;margin-bottom:4px;display:block}
.lumen-role-choice{display:flex;flex-direction:column;gap:8px}
.lumen-role-opt{display:flex;align-items:center;gap:10px;border:1.5px solid var(--lm-border);
  border-radius:11px;padding:11px 13px;cursor:pointer;transition:border-color .12s,background .12s}
.lumen-role-opt:hover{border-color:#c4b5fd}
.lumen-role-opt input{accent-color:var(--lm-accent-p);width:18px;height:18px}
.lumen-role-opt span{display:flex;flex-direction:column;line-height:1.25}
.lumen-role-opt small{color:var(--lm-muted)}
.lumen-login-foot{text-align:center;color:var(--lm-muted);font-size:12px;margin-top:18px}

.lumen-start{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:28px 16px;background:
    radial-gradient(900px 420px at 12% -10%, rgba(37,99,235,.16), transparent 60%),
    var(--lm-bg);
}
.lumen-start-card{
  width:min(980px, 100%);display:grid;grid-template-columns:1.15fr .85fr;
  background:#fff;border:1px solid var(--lm-border);border-radius:16px;
  box-shadow:0 18px 50px rgba(15,23,42,.06);overflow:hidden;
}
.lumen-start-brand{
  display:flex;flex-direction:column;justify-content:center;
  padding:48px 40px;background:#f8fafc;border-right:1px solid var(--lm-border);
}
.lumen-start-logo{
  width:52px;height:52px;border-radius:14px;background:#2563eb;
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.lumen-start-brand h1{margin:0;font-size:40px;letter-spacing:-.04em;font-weight:700;color:#0f172a}
.lumen-start-lead{margin:14px 0 0;max-width:28rem;color:#334155;font-size:17px;line-height:1.35;font-weight:500}
.lumen-press{margin-top:22px;width:min(100%,420px)}
.lumen-stage{
  margin-top:22px;width:100%;height:236px;position:relative;overflow:hidden;
  border:1px solid #e2e8f0;border-radius:12px;background:#fff;
}
.lumen-scene{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;padding:12px 18px 14px;opacity:0;pointer-events:none;
  transition:opacity .55s ease;
}
.lumen-scene.is-on{opacity:1}
.lumen-scene p{
  margin:0;text-align:center;max-width:34rem;color:#0f172a;
  font-size:14.5px;font-weight:650;line-height:1.3;letter-spacing:-.01em;
}
.lumen-scene-art{width:100%;height:136px;display:block}
.piece{opacity:0;transform-box:fill-box;transform-origin:center bottom}
.piece rect{fill:#dbeafe;stroke:#1d4ed8;stroke-width:1.3}
.piece path{fill:none;stroke:#1d4ed8;stroke-width:1.3;stroke-linecap:round}
.is-on .d1{animation:settle 1.15s .4s cubic-bezier(.16,.84,.28,1) both}
.is-on .d2{animation:settle 1.15s .68s cubic-bezier(.16,.84,.28,1) both}
.is-on .d3{animation:settle 1.15s .96s cubic-bezier(.16,.84,.28,1) both}
.is-on .d4{animation:settle 1.15s 1.24s cubic-bezier(.16,.84,.28,1) both}
.is-on .d5{animation:settle 1.15s 1.52s cubic-bezier(.16,.84,.28,1) both}
.slot{fill:none;stroke:#93c5fd;stroke-width:1.4;stroke-dasharray:4 3;opacity:0}
.is-on .slot{animation:soft .6s .55s ease both}
.carry{transform-box:fill-box;transform-origin:center}
.carry rect{fill:#dbeafe;stroke:#1d4ed8;stroke-width:1.3}
.carry path{fill:none;stroke:#1d4ed8;stroke-width:1.3;stroke-linecap:round}
.carry circle{fill:#2563eb}
.is-on .carry{animation:none}
.row{opacity:0;transform-box:fill-box;transform-origin:left center}
.row rect{fill:#dbeafe;stroke:#1d4ed8;stroke-width:1.2}
.row path{fill:none;stroke:#2563eb;stroke-width:2.2;stroke-linecap:round}
.ink{fill:#0f172a;font:650 13px Inter,Segoe UI,sans-serif}
.is-on .r1{animation:rise .75s .4s cubic-bezier(.16,.84,.28,1) both}
.is-on .r2{animation:rise .75s .68s cubic-bezier(.16,.84,.28,1) both}
.is-on .r3{animation:rise .75s .96s cubic-bezier(.16,.84,.28,1) both}
.is-on .r4{animation:rise .75s 1.24s cubic-bezier(.16,.84,.28,1) both}
.is-on .late1{animation:rise .65s 1.25s cubic-bezier(.16,.84,.28,1) both}
.is-on .late2{animation:rise .65s 1.5s cubic-bezier(.16,.84,.28,1) both}
.sheet-out{opacity:0;transform-box:fill-box;transform-origin:left center}
.sheet-out rect{fill:#eff6ff;stroke:#2563eb;stroke-width:1.5}
.sheet-out path{fill:none;stroke:#2563eb;stroke-width:2;stroke-linecap:round}
.is-on .sheet-out{animation:slide 1s .45s cubic-bezier(.16,.84,.28,1) both}
.sheet-ok{opacity:0}
.is-on .sheet-ok{animation:soft .45s 1.35s ease both}
.band{fill:#60a5fa;transform-box:fill-box;transform-origin:left center;opacity:0}
.is-on .b1{animation:unroll 1.05s .5s cubic-bezier(.16,.84,.28,1) both}
.is-on .b2{animation:unroll 1.05s .9s cubic-bezier(.16,.84,.28,1) both}
.meter{fill:#0f172a;font:650 15px Inter,Segoe UI,sans-serif;opacity:0}
.is-on .m1{animation:soft .5s 1.35s ease both}
.is-on .m2{animation:soft .5s 1.7s ease both}
.pill{fill:#2563eb;font:700 13px Inter,Segoe UI,sans-serif;opacity:0}
.fly{transform-box:fill-box;transform-origin:center}
.fly rect{fill:#dbeafe;stroke:#1d4ed8;stroke-width:1.3}
.fly path{fill:none;stroke:#1d4ed8;stroke-width:1.6;stroke-linecap:round}
.is-on .fly{animation:none}
.bubble{fill:#eff6ff;stroke:#2563eb;stroke-width:1.6;opacity:0;transform-box:fill-box;transform-origin:left center}
.is-on .bubble{animation:pop .6s .4s cubic-bezier(.16,.84,.28,1) both}
.mini rect{fill:#fff;stroke:#cbd5e1;stroke-width:1.4}
.mini text{fill:#64748b;font:650 12px Inter,Segoe UI,sans-serif}
.mini path{fill:none;stroke:#cbd5e1;stroke-width:1.6;stroke-linecap:round}
.draw{fill:none;stroke:#2563eb;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40}
.is-on .arrow{animation:draw .6s .7s ease both}
.sheet{opacity:0;transform-box:fill-box;transform-origin:center}
.sheet rect{fill:#fff;stroke:#0f172a;stroke-width:1.5}
.sum{fill:none;stroke:#2563eb;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:60;stroke-dashoffset:60}
.is-on .sheet{animation:pop .65s .95s cubic-bezier(.16,.84,.28,1) both}
.is-on .s1{animation:draw .55s 1.25s ease both}
.is-on .s2{animation:draw .55s 1.48s ease both}
.is-on .s3{animation:draw .55s 1.7s ease both}
.is-on .s4{animation:draw .55s 1.92s ease both}
@keyframes settle{from{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes soft{from{opacity:0}to{opacity:1}}
@keyframes slide{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
@keyframes unroll{from{opacity:0;transform:scaleX(.08)}to{opacity:1;transform:scaleX(1)}}
@keyframes pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes carry{
  0%{transform:none}
  16%{transform:translateY(-7px)}
  78%{transform:translate(76px,-7px)}
  100%{transform:translate(76px,0)}
}
@keyframes send{
  0%{opacity:1;transform:none}
  72%{opacity:1;transform:translate(78px,-2px) scale(.72)}
  100%{opacity:0;transform:translate(108px,-4px) scale(.42)}
}
@media (prefers-reduced-motion:reduce){
  .lumen-scene{transition:none}
  .piece,.row,.sheet-out,.sheet-ok,.band,.meter,.pill,.fly,.bubble,.sheet,.slot,.late1,.late2{opacity:1;animation:none;transform:none}
  .carry{animation:none;transform:translate(76px,0)}
  .draw,.sum{stroke-dashoffset:0;animation:none}
}
.lumen-save-card{
  width:min(480px,100%);background:#fff;border:1px solid var(--lm-border);
  border-radius:16px;padding:32px 28px;box-shadow:0 18px 50px rgba(15,23,42,.06);
}
.lumen-save-card h1{margin:0;font-size:26px;letter-spacing:-.03em;font-weight:700}
.lumen-save-card p{margin:10px 0 0;color:#334155;font-size:15px;line-height:1.45}
.lumen-save-list{margin:22px 0 0;display:flex;flex-direction:column;gap:12px}
.lumen-save-list div{background:#f8fafc;border:1px solid var(--lm-border);border-radius:12px;padding:10px 14px}
.lumen-save-list dt{font-size:12px;color:#64748b;font-weight:650}
.lumen-save-list dd{margin:2px 0 0;font-size:22px;font-weight:700;letter-spacing:.01em;word-break:break-all}
.lumen-save-form{margin-top:22px}
.lumen-save-check{
  display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#0f172a;font-weight:650;line-height:1.35;
}
.lumen-save-check input{margin-top:2px;width:16px;height:16px;flex:none}
.lumen-save-form button{
  display:block;width:100%;margin-top:16px;height:42px;border:0;border-radius:10px;
  background:#2563eb;color:#fff;font-weight:700;cursor:pointer;
}
.lumen-save-form button:hover{background:#1d4ed8}
.lumen-press svg{width:100%;height:auto;display:block}
.lumen-start-author{margin:18px 0 0;color:#94a3b8;font-size:12px;line-height:1.45;max-width:26rem}
.lumen-start-sys{margin-top:28px;padding-top:18px;border-top:1px solid var(--lm-border)}
.lumen-start-sys-title{font-size:13px;font-weight:700;color:#0f172a;margin-bottom:8px}
.lumen-start-sys ul{margin:0;padding-left:18px;color:#475569;font-size:13px;line-height:1.45}
.lumen-start-sys li{margin:0 0 6px}
.lumen-start-panel{padding:32px 28px}
.lumen-start-tabs{display:flex;gap:6px;margin-bottom:18px}
.lumen-start-tabs a{
  flex:1;text-align:center;text-decoration:none;color:#475569;font-weight:650;
  border:1px solid var(--lm-border);border-radius:10px;padding:8px 10px;background:#fff;
}
.lumen-start-tabs a.active{background:#2563eb;border-color:#2563eb;color:#fff}
.lumen-start-error{
  background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:10px;
  padding:8px 10px;font-size:13px;margin-bottom:12px;
}
.lumen-start-fields{display:flex;flex-direction:column;gap:12px}
.lumen-start-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:#475569}
.lumen-start-fields input{
  height:40px;border:1px solid #e2e8f0;border-radius:10px;padding:0 12px;
  font:inherit;font-size:14px;color:#0f172a;background:#fff;
}
.lumen-start-fields input:focus{outline:2px solid rgba(37,99,235,.25);border-color:#2563eb}
.lumen-start-fields button[type="submit"]{
  height:42px;border:none;border-radius:10px;background:#2563eb;color:#fff;
  font-weight:700;font-size:14px;cursor:pointer;margin-top:4px;
}
.lumen-start-fields button[type="submit"]:hover{background:#1d4ed8}
.lumen-pass{position:relative;display:block}
.lumen-pass input{width:100%;padding-right:40px}
.lumen-pass-toggle{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;margin:0;padding:0;border:none;border-radius:8px;
  background:transparent;color:#64748b;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.lumen-pass-toggle:hover,.lumen-pass-toggle.is-on{color:#2563eb;background:#eff6ff}
.lumen-start-hint{font-size:12px;font-weight:500;color:#94a3b8;line-height:1.35}
.lumen-start-forgot{align-self:flex-start;margin-top:-4px;color:#2563eb;font-size:13px;font-weight:600;text-decoration:none}
.lumen-start-forgot:hover{text-decoration:underline}
.lumen-recovery-card{margin-top:16px;padding:16px 18px}
.lumen-recovery-row{display:flex;gap:8px;align-items:center;max-width:520px}
.lumen-recovery-row .form-control{flex:1}
.lumen-start-note{margin:4px 0 0;color:#64748b;font-size:12px;line-height:1.45}
@media (max-width:860px){
  .lumen-start-card{grid-template-columns:1fr}
  .lumen-start-brand{border-right:none;border-bottom:1px solid var(--lm-border)}
}

/* ---------- Orders ---------- */
.lumen-search{display:flex;gap:8px;align-items:center}
.lumen-search .form-control{max-width:520px}
.lumen-orders-summary{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  font-size:12px;
  color:var(--lm-muted);
}
.lumen-orders-summary b{color:var(--lm-text)}
.lumen-row{cursor:pointer}
.lumen-row:hover td{background:var(--lm-accent-s)}
.lumen-orders-dense thead th{font-size:10px;padding:4px 5px}
.lumen-orders-dense tbody td{font-size:12px;padding:3px 5px}
.lumen-orders-dense input[type=checkbox]{width:14px;max-width:14px}
.lumen-chips{display:flex;flex-wrap:wrap;gap:4px;max-width:260px}
.lumen-total-bar .lumen-chips{max-width:none;align-items:center}
.lumen-service-totals{gap:6px}
.lumen-chip{
  display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;
  color:#1e1b2e;white-space:nowrap;line-height:1.5;
}
.lumen-facade-type-input{
  background-image:linear-gradient(rgba(255,255,255,.72), rgba(255,255,255,.72));
  background-color:var(--facade-color, #e5e7eb);
  border-color:var(--facade-color, #cbd5e1);
}
.part-facade, .part-thick, .part-s1, .part-s2, #m-thickness, #f-supplier{
  background-image:linear-gradient(rgba(255,255,255,.7), rgba(255,255,255,.7));
}
.lumen-color-dd{position:relative;width:100%;min-width:0}
.lumen-color-dd-native{
  position:absolute !important;left:0;top:0;width:1px !important;height:1px !important;
  opacity:0;pointer-events:none;overflow:hidden;margin:0;padding:0;border:0;
}
.lumen-color-dd-btn{
  display:block;width:100%;text-align:center;cursor:pointer;appearance:none;
  font:inherit;font-weight:600;color:#1e1b2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  border:1px solid var(--lm-border, #d8dbe8);border-radius:999px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='%236b7280' d='M4.4 6.2 8 10l3.6-3.8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .45rem center;
  padding:1px 1.45rem 1px 8px;
}
.lumen-color-dd-btn.is-tinted,
.lumen-color-dd.is-open .lumen-color-dd-btn{
  background-color:var(--facade-color, #e5e7eb);
  background-image:
    linear-gradient(rgba(255,255,255,.72), rgba(255,255,255,.72)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='%236b7280' d='M4.4 6.2 8 10l3.6-3.8'/%3E%3C/svg%3E");
  background-repeat:no-repeat,no-repeat;
  background-position:0 0,right .4rem center;
  background-size:auto,12px;
  border-color:var(--facade-color, #cbd5e1);
}
.lumen-color-dd-menu{
  position:fixed;z-index:1400;max-height:280px;overflow-y:auto;
  background:#fff;border:1px solid #e5e7eb;border-radius:8px;
  box-shadow:0 10px 28px rgba(15,23,42,.16);padding:4px;
}
.lumen-color-dd-item{
  display:block;width:100%;text-align:left;border:0;border-radius:999px;
  padding:5px 10px;margin:0 0 2px;font-size:13px;line-height:1.25;color:#1e1b2e;
  cursor:pointer;
  background-color:var(--facade-color, #ffffff);
  background-image:linear-gradient(rgba(255,255,255,.72), rgba(255,255,255,.72));
}
.lumen-color-dd-item:last-child{margin-bottom:0}
.lumen-color-dd-item:hover{filter:brightness(.97)}
.lumen-color-dd-item.is-selected{box-shadow:inset 0 0 0 2px rgba(91,33,182,.35)}
.lumen-master-bar .lumen-color-dd{min-width:140px;max-width:220px}
.lumen-new-dense .lumen-master-bar .lumen-color-dd{min-width:110px;max-width:170px}
.lumen-new-dense .lumen-parts .lumen-color-dd-btn{
  font-size:13px;height:24px;min-height:24px;padding:1px 18px 1px 8px;
}
.lumen-new-dense .lumen-master-bar .lumen-color-dd-btn{
  min-height:28px;height:28px;padding:2px 1.5rem 2px 6px;font-size:13px;
}
.lumen-status{
  display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;
  background:#eef2ff;color:#4338ca;
}
.lumen-status.is-done{background:#ecfdf5;color:#166534}
.lumen-status.is-progress{background:#eff6ff;color:#1d4ed8}
.lumen-status.is-cancel{background:#fef2f2;color:#991b1b}

/* ---------- Order card ---------- */
.lumen-group{margin-bottom:18px}
.lumen-group-head{
  display:flex;align-items:center;gap:10px;padding:6px 0 6px 10px;margin-bottom:6px;
}
.lumen-parts thead th{font-size:11px}
.lumen-parts td{padding:4px 6px}
.lumen-del{color:#b91c1c;background:#fff0f0;border:1px solid #fecaca;line-height:1;padding:2px 8px;border-radius:6px}
.lumen-del:hover{background:#fee2e2}
.lumen-toast{position:fixed;right:24px;bottom:24px;z-index:1080;max-width:420px;padding:12px 16px;border-radius:10px;font-weight:600;box-shadow:0 8px 28px rgba(15,23,42,.18)}
.lumen-toast-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.lumen-toast-err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.lumen-grid-scroll{max-width:100%;overflow-x:auto}
.lumen-grid td{padding:3px 4px}
.lumen-grid th{font-size:11px;white-space:nowrap}
.lumen-grid .form-control,.lumen-grid .form-select{min-width:64px}
.lumen-num{text-align:right;width:10ch;max-width:10ch;min-width:10ch}
.lumen-sticky-col{position:sticky;left:0;background:#fff;z-index:2;min-width:150px}
.lumen-revenue-row td{background:#fff7ed}
.lumen-revenue-row .lumen-sticky-col{background:#fff7ed}
.lumen-totals{display:flex;gap:24px;margin-top:14px;padding-top:12px;border-top:1px solid var(--lm-border);font-size:15px}
.lumen-new-split{display:grid;grid-template-columns:minmax(470px,1fr) minmax(470px,1.05fr);gap:14px;align-items:stretch}
.lumen-new-right{min-height:0;overflow:hidden}
.lumen-new-right .lumen-card{position:static;height:100%;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.lumen-new-layout-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.lumen-layout-host{flex:1 1 auto;min-height:0;overflow:auto;padding-right:2px}
.lumen-new-order-root{height:calc(100vh - 118px);overflow:hidden}
.lumen-new-order-root .lumen-new-left{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.lumen-new-order-root #params-card{
  flex:0 0 auto;padding:8px 10px;margin-bottom:8px !important
}
.lumen-new-order-root #params-card .lumen-card-title{margin-bottom:6px !important;font-size:13px}
.lumen-new-order-root #params-card .row.g-2{--bs-gutter-y:0.35rem}
.lumen-new-order-root #params-card #f-notes{min-height:28px;height:28px;resize:vertical}
.lumen-new-order-root #params-card .lumen-film-grid{padding:4px 6px;gap:3px}
.lumen-new-order-root #params-card .lumen-fg-row{gap:4px}
.lumen-new-order-root .lumen-parts-card{
  flex:1 1 0;display:flex;flex-direction:column;min-height:0;overflow:hidden
}
.lumen-new-order-root .lumen-parts-card .lumen-card-head{margin-bottom:4px}
.lumen-new-order-root .lumen-parts-scroll{
  flex:1 1 auto;min-height:0;overflow:auto;scroll-behavior:smooth
}
.lumen-new-order-root .lumen-parts-card > .lumen-total-bar{
  flex:0 0 auto;position:static;margin-top:0
}
.lumen-film-box{border:1px solid var(--lm-border);border-radius:12px;padding:10px 12px;background:#fcfcff}
.lumen-params-head{
  display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end;justify-content:space-between;
}
.lumen-client-block{flex:1 1 240px;min-width:0}
.lumen-date-block{flex:0 0 auto}
.lumen-date-actions{display:flex;align-items:center;gap:8px}
.lumen-client-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lumen-client-row #f-client{flex:1 1 12ch;width:auto !important;min-width:8ch;max-width:30ch}
.lumen-client-actions{display:flex;align-items:center;gap:8px;flex:1 1 auto;flex-wrap:wrap}
.lumen-client-row .btn{padding:4px 10px;white-space:nowrap}
#save-btn-top{
  white-space:nowrap;
  font-weight:700;
  padding:4px 14px;
}
.lumen-master-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lumen-master-bar .form-select{min-width:140px;max-width:220px}
.lumen-ch-30{width:30ch !important;max-width:30ch !important;min-width:0}
.lumen-ch-15{width:15ch !important;max-width:15ch !important}
.lumen-ch-10{width:10ch !important;max-width:10ch !important}
.lumen-ch-6{width:6ch !important;max-width:6ch !important}
.lumen-ch-5{width:5ch !important;max-width:5ch !important}
.lumen-parts thead th{white-space:nowrap}
.lumen-parts .form-control-sm,.lumen-parts .form-select-sm{padding:0.2rem 0.35rem;font-size:12px}
.lumen-parts-scroll .lumen-parts{margin-bottom:0 !important}
.part-idx{font-weight:700;color:#6b7280;text-align:center;min-width:18px}
.lumen-parts-excel td.part-h-cell{position:relative;overflow:visible}
.part-texture-swap{
  position:absolute;left:-14px;top:50%;z-index:4;transform:translateY(-50%);
  width:28px;height:24px;padding:0;border:1px solid #f59e0b;border-radius:6px;
  background:#fef3c7;color:#92400e;font-size:17px;font-weight:900;line-height:20px;
  cursor:pointer;box-shadow:0 0 0 2px rgba(245,158,11,.12);
  animation:lumenTextureSwapPulse 1.1s ease-in-out infinite
}
.part-texture-swap:hover{background:#fde68a;color:#78350f}
@keyframes lumenTextureSwapPulse{50%{box-shadow:0 0 0 4px rgba(245,158,11,.22)}}
.lumen-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}
.lumen-dl dt{color:var(--lm-muted);font-weight:600;font-size:13px}
.lumen-dl dd{margin:0;text-align:right;font-weight:600}
.lumen-notes{margin-top:14px;padding-top:12px;border-top:1px solid var(--lm-border)}

/* Dense production UX (desktop-like compactness) */
.lumen-new-dense .lumen-card{padding:10px 12px}
.lumen-new-dense .lumen-card-title{font-size:14px}
.lumen-new-dense .lumen-field-label{font-size:11px;margin-bottom:2px}
.lumen-new-dense .form-control,
.lumen-new-dense .form-select{min-height:28px;height:28px;padding:2px 6px;font-size:13px;line-height:1.15}
.lumen-new-dense textarea.form-control{min-height:40px;height:auto}
.lumen-new-dense .form-check-label{font-size:12px}
.lumen-new-dense .btn{font-size:12px}
.lumen-new-dense .lumen-film-box{padding:7px 8px;border-radius:8px}
.lumen-new-dense .lumen-master-bar{gap:6px;margin-bottom:4px !important}
.lumen-new-dense .lumen-master-bar .form-select{min-width:110px;max-width:170px}
.lumen-new-dense .lumen-parts thead th{font-size:10px;padding:3px 4px}
.lumen-new-dense .lumen-parts tbody td{padding:2px 3px}
.lumen-new-dense .lumen-parts .form-control-sm,
.lumen-new-dense .lumen-parts .form-select-sm{font-size:14.4px;height:24px;min-height:24px;padding:1px 4px}
.lumen-new-dense #type-area-chips .lumen-chip,
.lumen-new-dense #service-totals .lumen-chip{font-size:11px;padding:1px 7px}

/* Compact single-row film parameter architecture */
.lumen-film-box {
  border: 1px solid var(--lm-border);
  border-radius: 8px;
  padding: 6px 8px;
  background: #fcfcff;
}
.lumen-film-row {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  flex-wrap: nowrap;
}
.lumen-film-cell { min-width: 0; }
.lumen-film-cell .lumen-field-label {
  font-size: 10px;
  margin-bottom: 1px;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: visible;
}
.lumen-film-cell .form-control,
.lumen-film-cell .form-select {
  height: 26px;
  min-height: 26px;
  padding: 1px 6px;
  font-size: 13px;
  line-height: 1.1;
}
.film-film { flex: 0 0 15ch; max-width: 15ch; }
.film-supplier { flex: 0 0 21ch; max-width: 21ch; min-width: 17ch; }
.film-price { flex: 0 0 auto; }
.film-delivery { flex: 0 0 auto; }
.film-texture { flex: 0 0 auto; }
.film-customer-delivery { flex: 0 0 auto; }
.film-price input[type=number],
.film-delivery input[type=number],
.film-customer-delivery input[type=number]{
  width: 10ch !important;
  max-width: 10ch !important;
}
.film-texture .form-check {
  margin: 0;
  min-height: 26px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.film-texture .form-check-label {
  font-size: 12px;
  margin-top: 1px;
}

/* Excel-like details table */
.lumen-master-bar{
  background:#f7f9fc;
  border:1px solid #d6deea;
  border-bottom:none;
  border-radius:6px 6px 0 0;
  padding:4px 6px;
}
.lumen-parts-excel{
  border-collapse:collapse;
  border:1px solid #cfd8e6;
}
.lumen-parts-excel thead th{
  background:#eef3fb;
  color:#334155;
  font-weight:700;
  border:1px solid #d4ddeb;
  text-transform:none;
}
.lumen-parts-excel tbody td{
  border:1px solid #e1e7f0;
  background:#fff;
}
.lumen-parts-excel tbody tr:nth-child(even) td{
  background:#fbfdff;
}
.lumen-parts-excel tbody tr.row-invalid td{
  background:#fff1f2 !important;
}
.lumen-parts-excel .form-control-sm,
.lumen-parts-excel .form-select-sm{
  height:22px;
  min-height:22px;
  border:none;
  border-radius:0;
  background:transparent;
  padding:0 2px;
}
.lumen-parts-excel input[type=number]{
  width:9ch;
  min-width:9ch;
  max-width:9ch;
  text-align:right;
}
.lumen-parts-excel .part-q{
  width:6ch;
  min-width:6ch;
  max-width:6ch;
}
#set-form input[type=number]{
  width:12ch;
  min-width:12ch;
  max-width:12ch;
}
#layout-rows-body input[type=number]{
  width:10ch;
  min-width:10ch;
  max-width:10ch;
  text-align:right;
}
.lumen-parts-excel .form-control-sm:focus,
.lumen-parts-excel .form-select-sm:focus{
  border:none;
  outline:none;
  box-shadow:none;
}

/* Numeric inputs: hide spinners; width is controlled by form/table classes. */
input[type=number]{
  text-align:right;
  -moz-appearance:textfield;
}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* ---------- Layout canvas ---------- */
.lumen-sheet-card{
  background:var(--lm-surface);border:1px solid var(--lm-border);border-radius:12px;
  padding:14px 16px;margin-bottom:16px;
}
.lumen-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.lumen-sheet-title{font-weight:700;font-size:15px}
.lumen-film-pill{
  background:#f5f3ff;color:#7c3aed;border:1px solid #ddd6fe;border-radius:8px;
  padding:2px 10px;font-weight:600;font-size:13px;
}
.lumen-canvas{display:block;width:100%}
.lumen-sheet-breakdown{
  margin-top:6px;padding:0;
  background:#f8faff;border-top:2px solid #e2e8f0;border-radius:0 0 10px 10px;
  overflow:hidden;
}
.lumen-sheet-breakdown-total{
  display:block;padding:5px 10px;font-size:12px;font-weight:700;color:#334155;
}
/* Desktop-style breakdown table */
.lumen-breakdown-table{
  width:100%;border-collapse:collapse;font-size:12px;
}
.lumen-breakdown-table thead th{
  background:#eef2f7;color:#475569;font-weight:700;font-size:11px;
  padding:4px 8px;border-bottom:1px solid #cbd5e1;text-align:left;
}
.lumen-breakdown-table thead th:nth-child(2){text-align:center}
.lumen-breakdown-table thead th:nth-child(4){text-align:right}
.lumen-breakdown-table tbody tr:nth-child(even){background:#f0f4fa}
.lumen-breakdown-table tbody td{
  padding:3px 8px;border-bottom:1px solid #e2e8f0;color:#1e293b;
}
.lumen-breakdown-type-chip{
  display:inline-block;border:1px solid;border-radius:999px;
  padding:0 7px;font-size:11px;font-weight:600;
}
.lumen-breakdown-total-row td{
  padding:4px 8px;font-weight:700;border-top:2px solid #cbd5e1;
  background:#eef2f7;color:#0f172a;
}

/* ---------- Orders card layout (desktop-style) ---------- */
.lumen-date-section{margin-bottom:10px}
.lumen-date-header{
  display:flex;align-items:center;gap:10px;
  padding:10px 2px 4px;margin-bottom:2px;
  border-bottom:none;
}
.lumen-date-label{font-weight:700;font-size:15px;color:var(--lm-text)}
.lumen-orders-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.lumen-orders-toolbar form{flex:1 1 320px;min-width:0}
.lumen-date-count{
  background:#f1f5f9;color:#475569;border-radius:999px;
  padding:1px 10px;font-size:11px;font-weight:600;
}
.lumen-order-card{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:10px 12px;margin:8px 0;border:1px solid var(--lm-border);border-radius:12px;
  background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04);
  cursor:pointer;transition:border-color .12s,background .12s;
}
.lumen-order-card:hover{background:#f8fafc;border-color:#cbd5e1}
.lumen-order-card.lumen-flash{
  background:#fef9c3;box-shadow:inset 0 0 0 2px #f59e0b;border-radius:8px;
}
#summary-btn.is-summary-active{
  background:#9333ea;color:#fff;border-color:#7e22ce;
  box-shadow:0 0 0 3px rgba(147,51,234,.18);font-weight:800
}
#shop-summary-btn.is-shop-active{
  background:#6366f1;color:#fff;border-color:#4f46e5;
  box-shadow:0 0 0 3px rgba(99,102,241,.18);font-weight:800
}
#orders-list-card.report-mode-summary .report-order-check{border-color:#9333ea}
#orders-list-card.report-mode-summary .report-order-check:checked{
  background-color:#9333ea;border-color:#9333ea
}
#orders-list-card.report-mode-shop .report-order-check{border-color:#6366f1}
#orders-list-card.report-mode-shop .lumen-order-card:has(.report-order-check:checked){
  background:#eef2ff;box-shadow:inset 3px 0 0 #6366f1
}
#orders-list-card.report-mode-summary .lumen-order-card:has(.report-order-check:checked){
  background:#faf5ff;box-shadow:inset 3px 0 0 #9333ea
}
.lumen-diff-box{
  background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;
  font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;
  color:#1e1b2e;max-height:60vh;overflow:auto;margin:0;
  font-family:inherit;
}
.lumen-layout-editor-modal .modal-content{background:#eef2f7}
.lumen-layout-editor-modal .modal-body{user-select:none;overflow-y:auto;scrollbar-gutter:stable}
.lumen-editor-toolbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px
}
.lumen-editor-status{
  flex:1 1 280px;font-size:12.5px;line-height:1.35;color:#475569;
  min-height:2.7em;font-weight:600
}
.lumen-editor-status.is-ok{color:#6d28d9}
.lumen-editor-status.is-bad{color:#b91c1c}
.lumen-layout-editor-grid{
  display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px 18px;align-items:start;
}
.lumen-layout-edit-sheet{
  background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:8px;
}
.lumen-layout-edit-title{
  color:#0f172a;font-size:13px;font-weight:700;margin-bottom:6px;
}
.lumen-layout-edit-canvas{
  display:block;width:100%;border:1px solid #94a3b8;border-radius:6px;background:#fff;
  cursor:grab;touch-action:none
}
.lumen-layout-edit-canvas.is-over-part{cursor:grab;outline:2px solid rgba(124,58,237,.35);outline-offset:1px}
.lumen-layout-edit-canvas.dragging{cursor:grabbing;outline:2px solid #7c3aed;outline-offset:1px}
.lumen-editor-new-table{
  margin-top:12px;border:2px dashed #d6d3e8;border-radius:12px;padding:12px 14px;
  text-align:center;color:#6b7280;font-size:13px;background:#f8f7fc;
  transition:border-color .12s,background .12s,color .12s
}
.lumen-editor-new-table.is-hot{
  border-color:#7c3aed;background:#faf5ff;color:#6d28d9;font-weight:600
}
@media (max-width:1200px){.lumen-layout-editor-grid{grid-template-columns:repeat(2,minmax(260px,1fr));}}
@media (max-width:760px){.lumen-layout-editor-grid{grid-template-columns:1fr;}}

.lumen-delivery-popup{
  position:fixed;z-index:1200;width:500px;max-height:560px;overflow:hidden;
  background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 28px rgba(15,23,42,.18);
}
.lumen-delivery-head{
  font-size:12px;font-weight:700;color:#6b7280;padding:8px 10px;border-bottom:1px solid #f0f0f4;
}
.lumen-delivery-list{
  max-height:500px;overflow:auto;padding:2px 6px 6px;
}
.lumen-delivery-row{
  display:flex;align-items:center;gap:10px;min-height:32px;padding:4px 8px;border-radius:4px;cursor:pointer;
  border-bottom:1px solid #f0f0f4;
}
.lumen-delivery-row:last-child{border-bottom:none}
.lumen-delivery-row:hover{background:#f5f3ff}
.lumen-delivery-row.is-selected{background:#ede9fe}
.lumen-delivery-row.is-today{background:#f0fdf4}
.lumen-delivery-date{
  min-width:120px;font-size:13px;font-weight:600;color:#1e1b2e;
}
.lumen-delivery-orders{
  flex:1;min-width:0;font-size:12px;font-weight:700;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.lumen-delivery-check{
  color:#4f46e5;font-size:14px;font-weight:800;min-width:18px;text-align:right;
}
.lumen-oc-avatar{
  width:36px;height:36px;min-width:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;
}
.lumen-oc-avatar.av0{background:#7c6cf6}
.lumen-oc-avatar.av1{background:#16a34a}
.lumen-oc-avatar.av2{background:#f59e0b}
.lumen-oc-avatar.av3{background:#3b82f6}
.lumen-oc-avatar.av4{background:#64748b}
.lumen-oc-client{min-width:120px;max-width:180px}
.lumen-oc-client .name{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lumen-oc-client .no{font-size:12px;color:var(--lm-muted)}
.lumen-oc-film{flex:1;min-width:140px;max-width:240px;overflow:hidden}
.lumen-oc-film .fname{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lumen-oc-film .fmeta{font-size:12px;color:var(--lm-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lumen-area-badge{
  display:flex;flex-direction:column;align-items:flex-end;gap:1px;
  background:transparent;color:#15803d;border:none;
  border-radius:0;padding:0;font-weight:700;font-size:16px;white-space:nowrap;
}
.lumen-area-badge small{font-size:12px;font-weight:500;color:#64748b}
.lumen-oc-types{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:80px}
.lumen-oc-cost{
  min-width:175px;flex-shrink:0;text-align:right;font-size:11px;line-height:1.45;
  padding:2px 8px;border-left:1px solid #e2e8f0;color:#475569
}
.lumen-oc-cost span{color:#94a3b8}
.lumen-oc-cost b{color:#312e81;white-space:nowrap}
.lumen-oc-date{min-width:105px;text-align:right;font-size:11px;color:var(--lm-muted);flex-shrink:0}
.lumen-oc-actions{display:flex;gap:2px;flex-shrink:0;flex-wrap:nowrap;align-items:center}
.lumen-oc-actions .btn{padding:2px 7px;font-size:12px}
.lumen-oc-act{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  min-width:40px;height:44px;padding:4px 4px;line-height:1;
  background:#fff;border:1px solid transparent;color:#64748b;border-radius:8px;
}
.lumen-oc-act span{font-size:10px;font-weight:600}
.lumen-oc-act svg{display:block}
.lumen-oc-actions .lumen-btn-soft.lumen-oc-act{background:#fff;border-color:transparent;color:#64748b}
.lumen-oc-actions .lumen-btn-soft.lumen-oc-act:hover{background:#f1f5f9;color:#0f172a}
.lumen-oc-actions .lumen-del.lumen-oc-act{background:#fff;border-color:transparent;color:#dc2626}
.lumen-oc-actions .lumen-del.lumen-oc-act:hover{background:#fef2f2}
.lumen-orders-summary{gap:8px;align-items:center}
.lumen-stat-chip{
  display:inline-flex;align-items:center;gap:6px;
  background:#f8fafc;border:1px solid var(--lm-border);border-radius:10px;
  padding:6px 10px;color:#475569;font-size:13px;font-weight:500;
}
.lumen-stat-chip b{color:#0f172a;font-weight:700}
.lumen-stat-chip.c-blue svg{color:#2563eb}
.lumen-stat-chip.c-green svg{color:#16a34a}
.lumen-stat-chip.c-violet svg{color:#7c3aed}
.form-control,.form-select{border-color:#e2e8f0;border-radius:8px}
.form-control:focus,.form-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.lumen-photo-file{
  width:auto !important;max-width:none !important;min-width:0 !important;
  flex:0 0 auto !important;height:auto !important;min-height:0 !important;
  padding:0 !important;border:none !important;background:transparent !important;
  color:transparent !important;font-size:0 !important;box-shadow:none !important;
}
.lumen-photo-file::file-selector-button,
.lumen-photo-file::-webkit-file-upload-button{
  font-size:12px;font-weight:600;color:#334155;background:#fff;
  border:1px solid #e2e8f0;border-radius:8px;padding:4px 10px;margin:0;cursor:pointer;
}
#calc-btn{background:#2563eb;color:#fff;border-color:#2563eb}
#calc-btn:hover{background:#1d4ed8;color:#fff}
.lumen-orders-footer{
  padding:8px 12px;font-size:12px;color:var(--lm-muted);
  border-top:2px solid var(--lm-border);
}

/* ---------- Film grid (new-order form, desktop layout) ---------- */
.lumen-film-grid{display:grid;gap:4px;padding:6px 8px;border:1px solid var(--lm-border);border-radius:8px;background:#fcfcff}
.lumen-fg-row{display:flex;align-items:center;gap:6px}
.lumen-fg-label{font-size:12px;color:var(--lm-muted);font-weight:600;white-space:nowrap;min-width:135px}
.lumen-fg-label.short{min-width:70px}
.lumen-fg-row .form-control,.lumen-fg-row .form-select{height:26px;min-height:26px;padding:1px 6px;font-size:13px}
.lumen-new-dense .lumen-film-grid .form-control,
.lumen-new-dense .lumen-film-grid .form-select{height:26px;min-height:26px;padding:1px 6px;font-size:12px}
.lumen-new-dense #f-gap{
  width:7ch !important;
  min-width:7ch !important;
  max-width:7ch !important;
}
.lumen-fg-inline .lumen-fg-label{min-width:0}
.lumen-new-dense #f-film,
.lumen-new-dense #f-supplier{
  width:30ch !important;
  min-width:0 !important;
  max-width:30ch !important;
  flex:0 0 30ch;
}

/* ---------- Totals bar (desktop style) ---------- */
.lumen-total-bar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:10px;padding:6px 10px;background:#f8faff;
  border-top:2px solid var(--lm-border);border-radius:0 0 8px 8px;font-size:14px;font-weight:700;
}
.lumen-parts-scroll .lumen-total-bar{
  position:sticky;bottom:0;z-index:2;margin-top:0;
  border-radius:0;background:#f8faff;
}
.lumen-total-bar .t-label{color:var(--lm-muted);font-weight:600;font-size:13px}
.lumen-total-bar .t-val{color:var(--lm-text);font-size:15px}
.lumen-popup-content{
  height:min(94vh,960px);width:100%;max-width:1000px;
  overflow:hidden;display:flex;flex-direction:column;
}
.lumen-popup-content .modal-header{flex:0 0 auto}
.lumen-popup-content .modal-body{
  flex:1 1 auto;min-height:0;overflow:hidden;padding:0;
}
.lumen-popup-frame{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#f0f0f8;
}

/* ---------- Settings ---------- */
.lumen-settings{--lms-gap:12px}
.lumen-settings .lumen-card{padding:12px 14px}
.lumen-settings .lumen-card-title{font-size:14px}
.lumen-settings .lumen-card-head{margin-bottom:8px}
.lumen-settings .lumen-field-label{font-size:10.5px;margin-bottom:3px;letter-spacing:.3px}
.lumen-settings .form-control,
.lumen-settings .form-select{min-height:30px;height:30px;padding:2px 8px;font-size:13px}
.lumen-settings input[type=file].form-control{height:auto;min-height:0;padding:4px 8px}
.lumen-settings-hint{font-size:11.5px;line-height:1.35;color:var(--lm-muted);margin:0 0 8px;word-break:break-word}
.lumen-settings-actions{
  position:sticky;bottom:0;display:flex;justify-content:flex-end;
  padding:8px 0 2px;margin-top:var(--lms-gap);
  background:linear-gradient(to top,var(--lm-bg) 55%,rgba(245,245,250,0));
}
.lumen-settings-grid{column-count:3;column-gap:var(--lms-gap)}
.lumen-settings-grid > .lumen-card{
  break-inside:avoid;-webkit-column-break-inside:avoid;
  display:inline-block;width:100%;vertical-align:top;margin:0 0 var(--lms-gap)
}
.lumen-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.lumen-thick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.lumen-thick-grid .form-control{text-align:center;padding:2px 2px}
.lumen-settings .lumen-unit-select{
  flex:0 0 auto;width:4.4rem;
  padding:2px 1.35rem 2px 7px;background-position:right .3rem center
}
.lumen-qr-img{width:180px;height:180px;background:#fff;border:1px solid var(--lm-border);border-radius:8px;padding:6px}
.lumen-qr-img.is-lg{width:210px;height:210px}
.lumen-details > summary{
  font-size:12px;font-weight:600;color:var(--lm-accent-p);cursor:pointer;
  list-style:none;padding:2px 0
}
.lumen-details > summary::-webkit-details-marker{display:none}
.lumen-details > summary::before{content:"▸ ";font-size:11px}
.lumen-details[open] > summary::before{content:"▾ "}
.lumen-tg-steps{margin:6px 0 0;padding-left:1.15rem;font-size:12px;line-height:1.45;color:#334155}
.lumen-tg-steps li{margin:0 0 6px}

/* Settings — MVP table card */
.lumen-settings-top{
  display:flex;flex-wrap:wrap;gap:var(--lms-gap);
  align-items:flex-start;margin-bottom:var(--lms-gap)
}
.lumen-settings-top > .lumen-mvp-card{flex:0 1 auto;max-width:100%}
.lumen-settings-top > .lumen-tg-card{flex:1 1 340px;min-width:300px}
.lumen-mvp-badge{
  font-size:12px;font-weight:700;color:var(--lm-accent-p);
  background:var(--lm-accent-s);border:1px solid #e9d5ff;border-radius:999px;padding:2px 10px
}
.lumen-mvp-badge.is-bad{color:#b91c1c;background:#fef2f2;border-color:#fecaca}
.lumen-mvp-body{
  display:grid;grid-template-columns:300px auto;
  gap:14px;align-items:stretch
}
.lumen-mvp-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lumen-mvp-span{grid-column:1 / -1}
.lumen-settings .lumen-mvp-auto{background:#f8fafc;color:var(--lm-text);font-weight:700}
.lumen-dot{
  display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;
  vertical-align:baseline
}
.lumen-dot.is-z1{background:#22c55e}
.lumen-dot.is-z2{background:#3b82f6}
.lumen-dot.is-part{background:#94a3b8}
.lumen-mvp-legend{
  list-style:none;margin:10px 0 8px;padding:0;
  display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--lm-muted)
}
.lumen-mvp-legend b{color:var(--lm-text)}
.lumen-mvp-visual{
  position:relative;min-height:252px;min-width:0;
  border:1px solid var(--lm-border);border-radius:12px;background:#fff;padding:6px
}
#table-preview-canvas{
  position:absolute;top:6px;left:6px;
  width:calc(100% - 12px);height:calc(100% - 12px);display:block
}
@media (max-width:1500px){
  .lumen-settings-grid{column-count:2}
}
@media (max-width:1100px){
  .lumen-mvp-body{grid-template-columns:minmax(0,1fr)}
  .lumen-mvp-visual{min-height:230px}
}
@media (max-width:820px){
  .lumen-settings-grid{column-count:1}
  .lumen-thick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ---------- Misc ---------- */
@media (max-width:720px){
  .lumen-brand-name,.lumen-role-badge{display:none}
  .lumen-desktop-head{overflow-x:auto}
  .lumen-nav{min-width:max-content}
}
@media (max-width:960px){
  .lumen-new-split{grid-template-columns:1fr}
  .lumen-new-right .lumen-card{position:static}
  .lumen-layout-host{max-height:none}
  .lumen-new-order-root{height:auto;overflow:visible}
  .lumen-new-order-root .lumen-new-left,
  .lumen-new-order-root .lumen-parts-card{overflow:visible}
  .lumen-new-order-root .lumen-parts-scroll{max-height:none}
}
