/* KUNALE · Centro de operaciones */
:root{
  --brand-cream:#F5F1E8;--brand-paper:#FCFAF4;--brand-ink:#24211D;
  --brand-green:#264E36;--brand-green-deep:#1C3B29;--brand-green-light:#3E6B4E;
  --brand-olive:#A98B44;--brand-olive-deep:#80672F;
  --navy-950:#1C3B29;--navy-900:#264E36;--navy-850:#315D41;--navy-800:#3E6B4E;
  --slate-900:#24211D;--slate-800:#4A453C;--slate-700:#5D574C;--slate-600:#6B6559;--slate-500:#7A7466;
  --surface:#F5F1E8;--paper:#FFFFFF;--paper-warm:#FCFAF4;--line:#E5DECC;--line-soft:#EFE9DC;
  --emerald:#264E36;--emerald-bright:#3E6B4E;--emerald-soft:#E3EAE2;
  --cobalt:#80672F;--cobalt-bright:#A98B44;--cobalt-soft:#F0E9D6;
  --teal:#3E6B4E;--teal-soft:#E3EAE2;--amber:#A98B44;--amber-soft:#F0E9D6;
  --red:#A6402E;--red-soft:#F4E1DB;
  --radius:14px;--radius-sm:10px;
  --ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);
  --sidebar:250px;
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--surface)}
body{min-height:100vh;background:var(--surface);color:var(--slate-900);font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
/* cifras alineadas y nítidas donde importa (tablas, métricas, montos, formularios) */
table,input,select,.stat-val,.stat,.rtile .v,.overview-stats strong,.chart-value,.chart-day,.today-chip,.folder-count,.codeblock,.corte-print,.terminal-main>span,.terminal-setting-link span{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
body::selection{background:#D9E3D7;color:var(--brand-green-deep)}
h1,h2,h3,.stat-val,.brand-name{font-family:inherit;letter-spacing:-.02em;font-weight:700}
a{color:var(--cobalt);text-underline-offset:3px}
button,input,select{font:inherit}
button{cursor:pointer}
svg{display:block}
input::placeholder{color:#8B8578}
:focus-visible{outline:3px solid rgba(169,139,68,.34);outline-offset:2px}
*{scrollbar-color:#A8B5C2 #EEF2F4;scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#EEF2F4}::-webkit-scrollbar-thumb{background:#A8B5C2;border:2px solid #EEF2F4;border-radius:999px}
code{background:#EDF1F3;color:var(--navy-800);padding:2px 6px;border-radius:6px;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.muted{color:var(--slate-600)}.center{text-align:center}.right{text-align:right}.nowrap{white-space:nowrap}.spacer{flex:1}
.link,.text-action{border:0;background:transparent;color:var(--cobalt);text-decoration:none;font-weight:700;cursor:pointer}
.text-action{display:inline-flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}
.text-action svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.danger-text{color:var(--red)!important}

/* Shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:60;display:flex;flex-direction:column;overflow-y:auto;color:#F8F5EC;background:linear-gradient(160deg,var(--brand-green-deep) 0%,var(--brand-green) 58%,#315D41 100%)}
.sidebar-brand{min-height:82px;padding:18px 17px;display:flex;align-items:center;gap:11px}
.sidebar-brand img{width:42px;height:42px;object-fit:contain;filter:none}
.sidebar-brand>div{min-width:0}.sidebar-brand strong{display:block;color:#fff;font:800 20px/1 'Inter',system-ui,sans-serif;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-brand span{display:block;margin-top:5px;color:#98A8C3;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sidebar-close{display:none;margin-left:auto;width:44px;height:44px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:white}.sidebar-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.main-nav{padding:4px 12px 14px;flex:1}
.nav-group+.nav-group{margin-top:19px}
.nav-label{padding:0 10px 7px;color:#7183A1;font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.nav-btn{position:relative;display:flex;align-items:center;gap:11px;min-height:44px;padding:10px 11px;border-radius:10px;color:#BFCBE0;text-decoration:none;font-size:13px;font-weight:600;transition:background-color 160ms ease,color 160ms ease,transform 140ms var(--ease-out)}
.nav-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.nav-btn.active{background:linear-gradient(95deg,rgba(169,139,68,.38),rgba(245,241,232,.10));color:#fff}
.nav-btn.active::before{content:'';position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 4px 4px 0;background:#C6AA66}
.nav-btn:active{transform:scale(.98)}
.system-status{margin:8px 15px 15px;padding:12px;display:flex;align-items:flex-start;gap:10px;border:1px solid rgba(126,154,196,.24);border-radius:12px;background:rgba(5,15,32,.28)}
.status-dot{width:9px;height:9px;border-radius:50%;background:#34D399;box-shadow:0 0 0 4px rgba(52,211,153,.11);flex:0 0 auto;margin-top:4px}
.system-status strong,.system-status span{display:block}.system-status strong{color:#CBF7E9;font-size:11px}.system-status div span{margin-top:2px;color:#8799B7;font-size:9px}
.sidebar-profile{padding:15px;border-top:1px solid rgba(152,168,195,.14);display:flex;align-items:center;gap:10px}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#233C67;border:1px solid #526C94;color:white;font-weight:800}
.sidebar-profile>div{min-width:0;flex:1}.sidebar-profile strong,.sidebar-profile span{display:block}.sidebar-profile strong{color:#fff;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile div span{color:#8FA0BB;font-size:9px}
.sidebar-profile a{padding:7px;color:#96A7C1;border-radius:8px}.sidebar-profile a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar-scrim{display:none}

.app-stage{grid-column:2;min-width:0;min-height:100vh;display:flex;flex-direction:column}
.topbar{height:64px;position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 26px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line-soft);backdrop-filter:blur(14px)}
.topbar-context,.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-context{color:var(--slate-600);font-size:12px;font-weight:600}
.crumb-home,.icon-action{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--slate-600)}
.crumb-home svg,.icon-action svg,.today-chip svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.crumb-chevron{width:14px;height:14px;fill:none;stroke:#A0AABA;stroke-width:1.8}
.menu-trigger{display:none}
.today-chip{display:inline-flex;align-items:center;gap:7px;color:var(--slate-600);font-size:11px;font-variant-numeric:tabular-nums}
.today-chip svg{width:16px;height:16px}
.wrap{width:min(100%,1440px);margin:0 auto;padding:27px 28px 38px;flex:1}
.app-foot{display:flex;justify-content:space-between;gap:16px;padding:15px 28px;color:var(--slate-500);font-size:10px;border-top:1px solid var(--line-soft)}

/* Global structure */
.page-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:3px 0 22px}
.page-intro h1,.page-title{font-size:clamp(24px,2vw,31px);line-height:1.16;color:var(--navy-900);font-weight:800;text-transform:none;margin:0}
.page-intro p{max-width:70ch;margin-top:6px;color:var(--slate-600);font-size:13px}
.page-title{margin:3px 0 20px}
.health-chip{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 13px;border-radius:999px;background:var(--emerald-soft);color:#086351;font-size:11px;font-weight:700;white-space:nowrap;text-decoration:none}.health-chip .status-dot{width:7px;height:7px;margin:0;box-shadow:none}.health-chip>svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}.health-chip.warn{background:var(--amber-soft);color:#7B520D}.health-chip.warn .status-dot{background:#E1A026}.health-chip.neutral{background:var(--cobalt-soft);color:#294FAF}.health-chip.neutral .status-dot{background:#5C7FE2}
.flash{padding:12px 14px;margin:0 0 17px;border-radius:10px;font-size:12px;font-weight:650;border:1px solid transparent;animation:flashIn 220ms var(--ease-out)}
.flash.ok{background:var(--emerald-soft);color:#075E4E;border-color:#B9E2D7}.flash.err{background:var(--red-soft);color:#8E2730;border-color:#F1C8CC}.flash.warn{background:var(--amber-soft);color:#7C520D;border-color:#F2DBA9}
@keyframes flashIn{from{opacity:.7;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}

.panel,.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.card{padding:19px;margin-bottom:18px}.card.highlight{border-color:#94CFC2;background:#FCFFFE}.card.danger-zone{border-color:#E8AEB4}.card.danger-zone .sec-title{color:var(--red)}
.sec-title{font-size:16px;font-weight:800;color:var(--navy-900);margin-bottom:12px}.card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.card-head .sec-title{margin-bottom:0}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-grid>.card{margin-bottom:0}

/* Dashboard */
.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}
.stat{min-width:0;min-height:106px;padding:16px;display:flex;align-items:center;gap:13px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);transition:border-color 160ms ease,transform 160ms var(--ease-out)}
.stat.attention{border-color:#E7C783}.stat-ico{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}.stat-ico svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.stat-ico.emerald,.stat-ico.g{color:#08715F;background:linear-gradient(145deg,#DDF5ED,#BFE9DC)}.stat-ico.cobalt{color:#2E58C6;background:linear-gradient(145deg,#EEF2FF,#CEDAFC)}.stat-ico.teal{color:#087D7E;background:linear-gradient(145deg,#E4F8F6,#C3ECE7)}.stat-ico.amber,.stat-ico.o{color:#A86D0B;background:linear-gradient(145deg,#FFF6DD,#FBE6B3)}.stat-ico.r{color:var(--red);background:var(--red-soft)}
.stat-copy{min-width:0}.stat-lbl{color:var(--slate-700);font-size:11px;font-weight:650;text-transform:none;letter-spacing:0}.stat-val{margin-top:2px;color:var(--navy-900);font-size:22px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-note{margin-top:5px;color:var(--slate-500);font-size:9px}
.dashboard-primary{display:grid;grid-template-columns:minmax(0,7fr) minmax(310px,5fr);gap:17px;margin-bottom:17px;animation:dashboardReveal 280ms var(--ease-out) both}
@keyframes dashboardReveal{from{opacity:.82;transform:translateY(7px);clip-path:inset(0 0 4% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
.panel-head{min-height:64px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-soft)}
.panel-head h2{font-size:14px;color:var(--navy-900);font-weight:800}.panel-head p{margin-top:2px;color:var(--slate-500);font-size:9px}
.sales-chart{height:260px;position:relative;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:10px;padding:32px 18px 14px;overflow:hidden}
.chart-grid{position:absolute;inset:30px 18px 55px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.chart-grid span{border-top:1px dashed #E1E7EA}
.chart-empty-message{position:absolute;z-index:2;left:50%;top:43%;width:min(78%,330px);padding:10px 14px;transform:translate(-50%,-50%);text-align:center;background:rgba(255,255,255,.88);border-radius:10px}.chart-empty-message strong,.chart-empty-message span{display:block}.chart-empty-message strong{color:var(--navy-900);font-size:11px}.chart-empty-message span{margin-top:3px;color:var(--slate-500);font-size:8px}
.chart-column{position:relative;z-index:1;height:100%;min-width:0;display:grid;grid-template-rows:22px 1fr 35px;align-items:end;text-align:center}
.chart-value{align-self:start;color:var(--slate-600);font-size:8px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.chart-track{height:100%;display:flex;align-items:flex-end;justify-content:center}.chart-track span{display:block;width:min(34px,64%);min-height:4px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#3DBBA0 0%,#0B806B 100%);box-shadow:0 7px 15px rgba(11,128,107,.16);transform-origin:bottom;transition:filter 160ms ease,transform 160ms var(--ease-out)}
.chart-day{padding-top:8px;color:var(--slate-700);font-size:9px;font-weight:800}.chart-day small{display:block;color:var(--slate-500);font-size:8px;font-weight:500}
.performance-foot{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line-soft)}.performance-foot div{padding:12px 17px}.performance-foot div+div{border-left:1px solid var(--line-soft)}.performance-foot span,.performance-foot strong{display:block}.performance-foot span{color:var(--slate-500);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.performance-foot strong{margin-top:2px;color:var(--navy-900);font:800 15px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.shift-panel{overflow:hidden;border-radius:var(--radius);color:white;background:linear-gradient(145deg,#096B62 0%,#0A8D7B 54%,#167E96 100%);box-shadow:0 16px 34px rgba(8,91,82,.15)}
.shift-panel.is-closed{background:linear-gradient(145deg,#233454,#31548A)}
.shift-hero{position:relative;min-height:113px;padding:19px;display:flex;align-items:flex-start;justify-content:space-between;overflow:hidden}.shift-hero::after{content:'';position:absolute;width:170px;height:170px;right:-68px;top:-80px;border:1px solid rgba(255,255,255,.18);border-radius:50%}
.shift-heading{display:flex;align-items:flex-start;gap:10px}.live-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#74F0D1;box-shadow:0 0 0 5px rgba(116,240,209,.13)}.shift-heading span,.shift-heading strong{display:block}.shift-heading span{color:#C9F6EA;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.shift-heading strong{margin-top:5px;font:800 18px 'Inter',system-ui,sans-serif}.shift-mark{width:34px;height:34px;fill:none;stroke:rgba(255,255,255,.75);stroke-width:1.4;position:relative;z-index:1}
.shift-details{display:grid;grid-template-columns:repeat(2,1fr);margin:0 14px 14px;border-radius:11px;background:rgba(4,42,45,.25);border:1px solid rgba(255,255,255,.12)}.shift-details div{padding:13px 14px}.shift-details div:nth-child(odd){border-right:1px solid rgba(255,255,255,.11)}.shift-details div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.11)}.shift-details span,.shift-details strong{display:block}.shift-details span{color:#BCE5DE;font-size:8px}.shift-details strong{margin-top:3px;color:#fff;font-size:11px;font-variant-numeric:tabular-nums}
.shift-action{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;color:#fff;text-decoration:none;background:rgba(2,38,40,.24);font-size:11px;font-weight:750}.shift-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.shift-empty{padding:0 19px 19px}.shift-empty p{max-width:42ch;margin-bottom:14px;color:#D9E5F4;font-size:11px}
.dashboard-secondary{display:grid;grid-template-columns:minmax(0,7fr) minmax(310px,5fr);gap:17px}.recent-panel,.locations-preview{min-width:0}.compact-table{border:0;border-radius:0}.compact-table table{font-size:11px}.compact-table th{background:#F7F9FA;color:var(--slate-600)}.compact-table td{padding-top:10px;padding-bottom:10px}
.location-preview-list{padding:5px 12px}.location-preview-item{display:flex;align-items:center;gap:11px;padding:11px 7px;color:var(--slate-800);text-decoration:none;border-bottom:1px solid var(--line-soft);transition:background-color 150ms ease}.location-preview-item:last-child{border-bottom:0}.location-preview-item>span:nth-child(2){min-width:0;flex:1}.location-preview-item strong,.location-preview-item small{display:block}.location-preview-item strong{font-size:11px}.location-preview-item small{margin-top:2px;color:var(--slate-500);font-size:9px}.folder-symbol{width:34px;height:31px;display:grid;place-items:center;border-radius:9px;color:var(--emerald);background:var(--emerald-soft)}.folder-symbol svg{width:20px;height:20px;fill:currentColor;stroke:none}.row-chevron{width:16px;height:16px;fill:none;stroke:#95A1B2;stroke-width:1.8}.panel-footer-action{height:45px;display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid var(--line-soft);color:var(--cobalt);text-decoration:none;font-size:11px;font-weight:750}.panel-footer-action svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}.empty-location{display:flex;gap:11px;align-items:center;padding:18px 8px}.empty-location strong{font-size:11px}.empty-location p{color:var(--slate-500);font-size:9px}.empty-cell{padding:28px!important;text-align:center}.empty-cell strong,.empty-cell span{display:block}.empty-cell span{margin-top:3px;color:var(--slate-500);font-size:10px}

/* Terminal directory */
.terminal-overview{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) auto auto;align-items:center;gap:28px;padding:22px;margin-bottom:17px;border-radius:var(--radius);background:linear-gradient(112deg,#0B6D63 0%,#0B8A77 58%,#1F7894 100%);color:white;box-shadow:0 16px 34px rgba(8,91,82,.15)}
.terminal-overview::after{content:'';position:absolute;right:-90px;top:-170px;width:350px;height:350px;border-radius:50%;border:1px solid rgba(255,255,255,.13)}
.overview-copy{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.overview-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16)}.overview-icon svg{width:26px;height:26px;fill:none;stroke:white;stroke-width:1.6}.overview-copy h2{font-size:15px}.overview-copy p{max-width:58ch;margin-top:3px;color:#C7F0E7;font-size:10px}
.overview-stats{position:relative;z-index:1;display:flex;align-items:center}.overview-stats div{min-width:84px;padding:4px 16px;border-left:1px solid rgba(255,255,255,.18)}.overview-stats strong,.overview-stats span{display:block}.overview-stats strong{font:800 20px 'Inter',system-ui,sans-serif}.overview-stats span{color:#C8EEE7;font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.connection-state{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:rgba(3,38,43,.28);font-size:9px;font-weight:700;white-space:nowrap}.connection-state span{width:7px;height:7px;border-radius:50%;background:#F9C45D}.connection-state.ready span{background:#71F2CE}
.creator-stack{display:grid;gap:12px;margin-bottom:17px}.quick-creator{padding:18px;background:var(--paper);border:1px solid #AFCDEB;border-radius:var(--radius)}.quick-creator[hidden]{display:none}.quick-creator{animation:creatorIn 210ms var(--ease-out)}@keyframes creatorIn{from{opacity:.7;transform:translateY(-5px);clip-path:inset(0 0 18% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
.creator-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:11px}.creator-head h2{font-size:15px}.creator-head p{color:var(--slate-500);font-size:10px}.creator-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px}.terminal-form-grid{grid-template-columns:1fr 1fr 1fr .7fr auto}.creator-form label{margin:0}.creator-form .btn{height:42px}
.directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:23px 0 12px}.directory-toolbar h2{font-size:16px}.directory-toolbar p{margin-top:2px;color:var(--slate-500);font-size:10px}
.location-directory{display:grid;gap:14px}.location-folder{scroll-margin-top:85px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:visible}.folder-header{min-height:77px;padding:14px 16px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line-soft)}.folder-large{width:43px;height:39px;display:grid;place-items:center;border-radius:11px;color:var(--cobalt);background:var(--cobalt-soft)}.folder-large svg{width:25px;height:25px;fill:currentColor}.folder-title{min-width:0;flex:1}.folder-title h3{font-size:14px}.folder-title p{margin-top:2px;color:var(--slate-500);font-size:9px}.folder-count{padding:5px 9px;border-radius:999px;background:#EEF2F5;color:var(--slate-600);font-size:9px;font-weight:700}.folder-add svg{width:14px;height:14px}
.terminal-list{padding:4px 15px 10px}.terminal-row{position:relative;min-height:67px;display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:13px;padding:10px 4px;border-bottom:1px solid var(--line-soft)}.terminal-row:last-child{border-bottom:0}.terminal-row.active{background:linear-gradient(90deg,rgba(228,244,239,.5),transparent 45%)}
.terminal-device{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#EDF2F5;color:var(--slate-600);flex:0 0 auto}.terminal-device svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}.terminal-device i{position:absolute;right:4px;bottom:4px;width:6px;height:6px;border-radius:50%;background:#3EC7A6;border:1px solid white}
.terminal-row.active .terminal-device{color:var(--emerald);background:var(--emerald-soft)}.terminal-main>div{display:flex;align-items:center;gap:7px}.terminal-main strong{font-size:12px}.terminal-main>span{display:block;margin-top:2px;color:var(--slate-500);font-size:9px;font-variant-numeric:tabular-nums}.terminal-state{display:flex;align-items:center;gap:6px;color:var(--slate-600);font-size:9px;font-weight:650}.active-dot,.ready-dot{width:7px;height:7px;border-radius:50%;background:var(--emerald-bright)}.ready-dot{background:#92A1B4}
.action-popover{position:relative}.action-popover summary{list-style:none;padding:7px 9px;border:1px solid var(--line);border-radius:8px;color:var(--slate-700);font-size:9px;font-weight:700;cursor:pointer}.action-popover summary::-webkit-details-marker{display:none}.action-popover[open] summary{border-color:#A9BCE7;color:var(--cobalt)}.popover-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:20;width:210px;padding:6px;background:white;border:1px solid var(--line);border-radius:11px;box-shadow:0 16px 36px rgba(16,31,53,.16);transform-origin:top right;animation:popoverIn 160ms var(--ease-out)}@keyframes popoverIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
.popover-panel form+form{border-top:1px solid var(--line-soft);margin-top:4px;padding-top:4px}.popover-panel button{width:100%;padding:8px 9px;border:0;border-radius:7px;background:transparent;text-align:left;color:var(--slate-800);font-size:10px;font-weight:650}.popover-panel label{display:block;padding:5px 8px;color:var(--slate-500);font-size:8px}.popover-panel select{width:100%;margin-top:4px;padding:7px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--slate-800);font-size:9px}
.folder-empty{display:flex;align-items:center;gap:13px;padding:17px 18px}.folder-empty>div{flex:1}.folder-empty strong{font-size:11px}.folder-empty p{margin-top:2px;color:var(--slate-500);font-size:9px}.empty-folder-delete{padding:0 18px 14px;text-align:right}.empty-folder-delete button{font-size:9px}
.directory-empty{padding:52px 22px;text-align:center;background:var(--paper);border:1px dashed #BFCBD3;border-radius:var(--radius)}.empty-folder-art{width:66px;height:58px;margin:0 auto 15px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,var(--cobalt-soft),var(--teal-soft));color:var(--cobalt)}.empty-folder-art svg{width:38px;height:38px;fill:currentColor}.directory-empty h2{font-size:18px}.directory-empty p{max-width:52ch;margin:5px auto 17px;color:var(--slate-600);font-size:11px}
.terminal-help{margin-top:17px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#EEF3F7;border-radius:12px}.terminal-help>div{display:flex;align-items:center;gap:11px}.terminal-help>div>svg{width:20px;height:20px;fill:none;stroke:var(--slate-600);stroke-width:1.7}.terminal-help strong,.terminal-help span{display:block}.terminal-help span{color:var(--slate-600);font-size:9px}.terminal-help strong{color:var(--slate-800);font-size:10px}.terminal-help>a{display:flex;align-items:center;gap:4px;text-decoration:none;font-size:10px;font-weight:750;white-space:nowrap}.terminal-help>a svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}
.terminal-setting-link{margin-top:10px;padding:12px;display:flex;align-items:center;gap:11px;background:#F4F7F8;border-radius:11px}.terminal-setting-link>div{flex:1}.terminal-setting-link strong,.terminal-setting-link span{display:block}.terminal-setting-link strong{font-size:11px}.terminal-setting-link span{color:var(--slate-500);font-size:9px;font-variant-numeric:tabular-nums}

/* Tables */
.table-wrap{border:1px solid var(--line);border-radius:11px;overflow:auto}
table{width:100%;border-collapse:collapse;background:var(--paper);font-size:12px}
th{padding:10px 12px;background:var(--navy-900);color:#EAF0FA;text-align:left;font-size:9px;font-weight:700;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
td{padding:9px 12px;border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:0}tr.voided td{opacity:.55;text-decoration:line-through}tr.voided td.right{text-decoration:none}table.mini td{padding:7px 6px;font-size:10px;border-bottom:1px dashed var(--line)}
.pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:700;white-space:nowrap}.pill.g{background:var(--emerald-soft);color:#264E36}.pill.o{background:var(--amber-soft);color:#715A29}.pill.r{background:var(--red-soft);color:#8A3023}.pill.b{background:var(--cobalt-soft);color:#6E5827}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--slate-700);font-size:12px;text-decoration:none;transition:border-color 150ms ease,color 150ms ease,transform 140ms var(--ease-out)}.icon-btn:active{transform:scale(.96)}.icon-btn.danger{color:var(--red)}

/* Forms */
.form label{display:block;margin:10px 0 4px;color:var(--slate-700);font-size:10px;font-weight:700}
.form input[type=text],.form input[type=password],.form input[type=number],.form select{width:100%;min-height:41px;padding:9px 11px;border:1px solid #C8D2D9;border-radius:9px;background:white;color:var(--slate-900);font-size:12px;transition:border-color 150ms ease,box-shadow 150ms ease}.form input:focus,.form select:focus{border-color:#7895E0;outline:0;box-shadow:0 0 0 3px rgba(49,91,203,.11)}
.form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form .row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form .row-btns,.row-btns{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.form .chk{display:flex;gap:8px;align-items:flex-start;font-weight:550;line-height:1.45}.form .chk input{width:auto;margin-top:2px}.form.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.form.inline input,.form.inline select{width:auto;flex:1;min-width:120px}
.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:13px}.toolbar select,.toolbar input{min-height:38px;padding:8px 11px;border:1px solid #C8D2D9;border-radius:9px;background:white;color:var(--slate-900);font-size:11px}
.hint{margin-top:5px;color:var(--slate-500);font-size:9px;line-height:1.55}.note{padding:10px 12px;margin-top:10px;border-radius:9px;font-size:10px;line-height:1.5}.note.warn{background:var(--amber-soft);color:#76500E}.note.err{background:var(--red-soft);color:#8F2D36}.note.ok{background:var(--emerald-soft);color:#086150}
.codeblock,.corte-print{padding:12px 14px;border-radius:9px;background:var(--navy-950);color:#D9E4F5;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;overflow-x:auto;white-space:pre}.acc{margin-top:10px;padding:0 12px;border:1px solid var(--line);border-radius:9px}.acc summary{padding:10px 0;color:var(--navy-800);font-size:11px;font-weight:700;cursor:pointer}.acc[open]{padding-bottom:12px}

/* Clip selector */
.clip-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:7px 0 14px}.clip-mode{display:block;padding:13px;border:1px solid var(--line);border-radius:11px;background:white;cursor:pointer;transition:border-color 150ms ease,background-color 150ms ease}.clip-mode.on{border-color:#8AA4E6;background:#F5F7FF}.clip-mode input{margin-right:8px}.clip-mode b{display:block;margin-bottom:4px;color:var(--navy-900);font-size:12px}.clip-mode span{display:block;color:var(--slate-600);font-size:9px;line-height:1.5}.clip-fields{display:none;padding-top:12px;margin-top:4px;border-top:1px solid var(--line-soft)}.clip-fields.on{display:block}.clip-fields.on{animation:fieldIn 180ms var(--ease-out)}@keyframes fieldIn{from{opacity:.7;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}#clipDevices .dev{display:inline-block;padding:4px 8px;margin:4px 5px 0 0;border:1px solid var(--line);border-radius:7px;cursor:pointer;font-size:9px}#clipDevices .dev.active{border-color:var(--emerald);color:var(--emerald)}

/* Buttons */
.btn{min-height:44px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;color:white;text-decoration:none;font-size:11px;font-weight:750;line-height:1;transition:transform 140ms var(--ease-out),filter 160ms ease,background-color 160ms ease,border-color 160ms ease}.btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(115deg,#264E36,#3E6B4E)}.btn-olive{background:linear-gradient(115deg,#80672F,#A98B44)}.btn-secondary,.btn-ghost{color:var(--slate-800);background:white;border:1px solid #CFC6B3}.btn-danger{background:var(--red)}.btn-blue{background:var(--cobalt)}.btn-light{color:var(--navy-900);background:white}.btn-sm{min-height:44px;padding:9px 12px;font-size:11px}.btn-block{width:100%}

/* Legacy report tiles */
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px;margin:12px 0}.rtile{padding:11px;background:#F6F8F9;border-radius:9px}.rtile .v{color:var(--navy-900);font:800 16px 'Inter',system-ui,sans-serif}.rtile .l{color:var(--slate-500);font-size:8px;text-transform:uppercase;letter-spacing:.04em}

/* Modal + segmented control */
.ov{display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;padding:18px;background:rgba(8,19,38,.68);backdrop-filter:blur(5px)}.ov.on{display:flex}.modal{width:min(100%,440px);padding:22px;border-radius:15px;background:white;box-shadow:0 28px 70px rgba(0,0,0,.3);animation:modalIn 210ms var(--ease-out);transform-origin:center}@keyframes modalIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal h3{color:var(--navy-900);font-size:17px}.modal .sub{margin-top:3px;color:var(--slate-600);font-size:11px}.modal label{display:block;margin:11px 0 5px;color:var(--slate-700);font-size:10px;font-weight:700}.modal input[type=text],.modal input[type=number]{width:100%;padding:10px 12px;border:1px solid #C8D2D9;border-radius:9px}.m-actions{display:flex;gap:9px;margin-top:15px}.m-actions .btn{flex:1}.seg{display:flex;gap:7px;margin-bottom:6px}.seg button{flex:1;padding:8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--slate-700);font-size:10px;font-weight:700}.seg button.on{border-color:#90A8E4;background:var(--cobalt-soft);color:#2449AA}

/* Login and import */
.auth-body{display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(145deg,var(--navy-950),#16375D)}.auth-card{width:min(100%,410px);padding:29px;border-radius:16px;background:white;box-shadow:0 28px 70px rgba(0,0,0,.28)}.auth-logo{text-align:center;margin-bottom:14px}.auth-name{margin-top:7px;color:var(--navy-900);font:800 24px 'Inter',system-ui,sans-serif}.auth-tag{color:var(--slate-500);font-size:9px;letter-spacing:.07em;text-transform:uppercase}.auth-card h1{margin:7px 0 14px;color:var(--navy-900);font-size:17px}.auth-card label{display:block;margin:11px 0 5px;color:var(--slate-700);font-size:10px;font-weight:700}.auth-card input{width:100%;padding:11px 13px;border:1px solid #C8D2D9;border-radius:9px}.auth-card .btn{margin-top:14px}.auth-foot{margin-top:14px;color:var(--slate-500);font-size:10px;text-align:center}
.dropzone{padding:25px;border:1px dashed #B79A53;border-radius:13px;background:#FAF7EE;text-align:center;font-size:12px}.dropzone.drag{background:#F0E9D6}

/* Corrección de identidad KUNALE: verde Eden, crema Sugar Swizzle y oliva Golden Olive. */
.sidebar-brand span{color:#D8D1BE}.nav-label{color:#BDB6A5}.nav-btn{color:#DDD7C9}
.system-status{border-color:rgba(225,211,173,.23);background:rgba(18,42,28,.32)}
.status-dot{background:#C6AA66;box-shadow:0 0 0 4px rgba(198,170,102,.13)}
.system-status strong{color:#F2EBD9}.system-status div span,.sidebar-profile div span{color:#BDB6A5}
.sidebar-profile{border-color:rgba(229,222,204,.15)}.avatar{background:#3E6B4E;border-color:#718D76}.sidebar-profile a{color:#D0C9B8}
.health-chip{color:#264E36}.health-chip .status-dot{background:#3E6B4E}.health-chip.warn{color:#715A29}.health-chip.warn .status-dot,.health-chip.neutral .status-dot{background:#A98B44}.health-chip.neutral{color:#6E5827}
.card.highlight{border-color:#B9C9B8;background:#FBFCF8}
.stat.attention{border-color:#D6C089}
.stat-ico.emerald,.stat-ico.g{color:#264E36;background:linear-gradient(145deg,#EDF2E9,#D7E2D5)}
.stat-ico.cobalt{color:#80672F;background:linear-gradient(145deg,#F7F2E5,#E9DEBF)}
.stat-ico.teal{color:#3E6B4E;background:linear-gradient(145deg,#EEF2E9,#DDE6D8)}
.stat-ico.amber,.stat-ico.o{color:#80672F;background:linear-gradient(145deg,#F8F3E6,#EADDBA)}
.chart-grid span{border-color:#E7E0D1}.chart-track span{background:linear-gradient(180deg,#A98B44 0%,#80672F 100%);box-shadow:0 7px 15px rgba(128,103,47,.16)}
.shift-panel,.terminal-overview{background:linear-gradient(145deg,#1C3B29 0%,#264E36 58%,#80672F 100%);box-shadow:0 16px 34px rgba(38,78,54,.18)}
.shift-panel.is-closed{background:linear-gradient(145deg,#3D493B,#6B674E)}
.live-dot{background:#DCC888;box-shadow:0 0 0 5px rgba(220,200,136,.14)}
.shift-heading span,.overview-copy p,.overview-stats span,.shift-details span{color:#E5DECC}
.shift-details,.connection-state{background:rgba(18,42,28,.3)}
.connection-state span{background:#D9BC6D}.connection-state.ready span{background:#BBD4B8}
.quick-creator{border-color:#D7C797}.terminal-row.active{background:linear-gradient(90deg,rgba(227,234,226,.72),transparent 45%)}
.terminal-device{background:#EEEAE0}.terminal-device i{background:#A98B44}
.action-popover[open] summary{border-color:#C9B16E}.popover-panel{box-shadow:0 16px 36px rgba(54,48,35,.16)}
.terminal-help{background:#EEE9DC}.terminal-setting-link{background:#F4F0E6}
.form input[type=text],.form input[type=password],.form input[type=number],.form select,.toolbar select,.toolbar input,.modal input[type=text],.modal input[type=number],.auth-card input{border-color:#CFC6B3}
.form input:focus,.form select:focus{border-color:#B29651;box-shadow:0 0 0 3px rgba(169,139,68,.13)}
.clip-mode.on{border-color:#B79A53;background:#FAF7EE}.seg button.on{border-color:#B79A53;color:#6E5827}
.ov{background:rgba(28,59,41,.72)}.auth-body{background:linear-gradient(145deg,var(--brand-green-deep),var(--brand-green) 62%,var(--brand-olive-deep))}

/* Legibilidad y objetivos táctiles */
.sidebar-brand span,.nav-label,.system-status div span,.sidebar-profile div span,.panel-head p,.stat-note,.chart-value,.chart-day,.chart-day small,.performance-foot span,.shift-heading span,.shift-details span,.location-preview-item small,.folder-title p,.terminal-main>span,.terminal-state,.folder-empty p,.directory-toolbar p,.terminal-help span,.terminal-setting-link span,.overview-copy p,.connection-state,.hint{font-size:10.5px}
.app-foot,.popover-panel button,.popover-panel label,.table-wrap th,.pill,.form label,.note,.clip-mode span,.auth-tag,.auth-card label,.auth-foot{font-size:11px}
.text-action{min-height:44px}.sidebar-profile a{width:44px;height:44px;display:grid;place-items:center}.action-popover summary{min-height:44px;display:flex;align-items:center}.popover-panel button{min-height:44px}.form input[type=text],.form input[type=password],.form input[type=number],.form select,.toolbar select,.toolbar input,.seg button{min-height:44px}

/* Responsive */
@media (hover:hover) and (pointer:fine){
  .nav-btn:hover{background:rgba(255,255,255,.07);color:#fff}.crumb-home:hover,.icon-action:hover{background:#F0EBDF;color:var(--navy-900)}.stat:hover{transform:translateY(-2px);border-color:#CBBFAD}.chart-column:hover .chart-track span{filter:saturate(1.12);transform:scaleX(1.08)}.location-preview-item:hover{background:#FAF7F0}.btn:hover{filter:brightness(1.05)}.btn-secondary:hover,.btn-ghost:hover{filter:none;border-color:#AFA38E;background:#FAF7F0}.icon-btn:hover{border-color:#A99B82;color:var(--navy-900)}.popover-panel button:hover{background:#F5F1E8}.panel-footer-action:hover,.text-action:hover{text-decoration:underline}.sidebar-profile a:hover{background:rgba(255,255,255,.08);color:white}
}

@media (max-width:1120px){
  :root{--sidebar:224px}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.terminal-overview{grid-template-columns:1fr auto}.connection-state{grid-column:1/-1;justify-self:start}.terminal-form-grid{grid-template-columns:repeat(2,1fr)}.terminal-form-grid .btn{grid-column:2}
}

@media (max-width:860px){
  .app-shell{display:block}.app-stage{min-height:100vh}.app-sidebar{width:min(280px,88vw);transform:translateX(-100%);transition:transform 230ms var(--ease-out);box-shadow:18px 0 50px rgba(0,0,0,.22)}body.sidebar-open .app-sidebar{transform:translateX(0)}.sidebar-close{display:grid;place-items:center}.sidebar-scrim{display:block;position:fixed;inset:0;z-index:55;background:rgba(20,45,30,.58);opacity:0;pointer-events:none;transition:opacity 200ms ease}body.sidebar-open .sidebar-scrim{opacity:1;pointer-events:auto}.menu-trigger{display:grid}.topbar{padding:0 17px}.wrap{padding:22px 17px 32px}.dashboard-primary,.dashboard-secondary{grid-template-columns:1fr}.grid-2,.settings-grid{grid-template-columns:1fr}.terminal-overview{grid-template-columns:1fr}.overview-stats{justify-self:start}.creator-form,.terminal-form-grid{grid-template-columns:1fr}.terminal-form-grid .btn{grid-column:auto}.app-foot{padding:14px 17px}
}

@media (max-width:640px){
  .topbar{height:60px}.today-chip{display:none}.topbar-actions .btn{display:inline-flex;width:44px;padding:0;font-size:0}.topbar-actions .btn svg{width:19px;height:19px}.topbar-context{gap:5px}.wrap{padding:19px 13px 30px}.page-intro{align-items:stretch;flex-direction:column;gap:13px}.page-intro>.btn{align-self:flex-start}.health-chip{align-self:flex-start}.stats-row{grid-template-columns:1fr 1fr;gap:9px}.stat{min-height:96px;padding:13px;align-items:flex-start;flex-direction:column;gap:8px}.stat-ico{width:35px;height:35px;border-radius:10px}.stat-ico svg{width:19px;height:19px}.stat-val{font-size:18px}.sales-chart{height:230px;padding-left:8px;padding-right:8px;gap:4px}.chart-grid{left:8px;right:8px}.chart-value{display:none}.chart-track span{width:58%}.terminal-overview{padding:18px;gap:18px}.overview-copy{align-items:flex-start}.overview-stats{width:100%}.overview-stats div{min-width:0;flex:1;padding:4px 9px}.overview-stats div:first-child{border-left:0}.folder-header{align-items:flex-start;flex-wrap:wrap}.folder-title{min-width:150px}.folder-count{margin-left:56px}.folder-add{margin-left:auto}.terminal-row{grid-template-columns:auto 1fr auto;gap:10px}.terminal-state{grid-column:2}.action-popover{grid-column:3;grid-row:1/3}.popover-panel{position:fixed;left:13px;right:13px;bottom:13px;top:auto;width:auto;transform-origin:bottom center}.folder-empty{align-items:flex-start;flex-wrap:wrap}.folder-empty .btn{margin-left:51px}.terminal-help{align-items:flex-start;flex-direction:column}.terminal-setting-link{align-items:flex-start;flex-wrap:wrap}.terminal-setting-link .btn{margin-left:49px}.form .row,.form .row.three{grid-template-columns:1fr}.clip-modes{grid-template-columns:1fr}.app-foot{flex-direction:column;gap:3px}
  .table-wrap{border:0;overflow:visible}.table-wrap table,.table-wrap tbody{display:block;width:100%}.table-wrap thead{display:none}.table-wrap tr{display:block;margin-bottom:9px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:white}.table-wrap td{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line);text-align:right}.table-wrap td:last-child{border-bottom:0}.table-wrap td::before{content:attr(data-l);color:var(--slate-500);font-size:8px;font-weight:700;text-transform:uppercase;text-align:left}.table-wrap td:not([data-l])::before{content:none}.compact-table tr:last-child{margin-bottom:0}.empty-cell{display:block!important;text-align:center!important}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.dashboard-primary,.flash,.quick-creator,.clip-fields.on,.modal,.popover-panel{animation:fadeOnly 120ms ease}.app-sidebar,.sidebar-scrim,.nav-btn,.btn,.stat,.chart-track span{transition-duration:0ms}@keyframes fadeOnly{from{opacity:.85}to{opacity:1}}
}

@media print{body *{visibility:hidden}#print-corte,#print-corte *{visibility:visible}#print-corte{position:absolute;left:0;top:0;width:100%;border:0}#print-corte .card-head{display:none}.corte-print{background:white;color:black;font-size:12px}}

/* ---- iconos añadidos: títulos de sección, botones de icono, acordeones ---- */
.i{width:1.05em;height:1.05em;flex:none;display:inline-block;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.i-fill{fill:currentColor;stroke:none}
.sec-title{display:flex;align-items:center;gap:8px}
.sec-title .i{width:18px;height:18px;flex:none;color:var(--brand-olive)}
.card.danger-zone .sec-title .i{color:var(--red)}
.icon-btn .i{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.acc summary{display:flex;align-items:center;gap:8px}
.acc summary .i{width:16px;height:16px;color:var(--brand-olive)}
.dropzone .i{width:15px;height:15px;vertical-align:-.2em;margin-right:4px}
.stat-ico .i{width:19px;height:19px;fill:none;stroke:currentColor}
.clip-mode b .i{width:15px;height:15px;vertical-align:-.15em;margin-right:5px}
.terminal-setting-link .i,.terminal-device .i{fill:none;stroke:currentColor;stroke-width:1.7}
.probe-bad{color:var(--red)}.probe-ok{color:#086150;font-weight:700}
#clipProbeOut .i,#clipDevices .i{width:14px;height:14px;vertical-align:-.15em;margin-right:3px}
.auth-card h1{display:flex;align-items:center;gap:8px}
.auth-card h1 .i{width:17px;height:17px;color:var(--brand-olive)}

/* ---- fotos de producto: miniatura en tabla + widget de subida ---- */
.thumb-cell{width:52px;padding:6px 8px}
.prod-thumb{width:40px;height:40px;border-radius:8px;object-fit:cover;display:block;background:#EEEAE0;border:1px solid var(--line)}
.prod-thumb-ph{display:grid;place-items:center;color:#B7AE99}
.prod-thumb-ph .i{width:18px;height:18px}
@media (max-width:640px){.table-wrap .thumb-cell{display:none!important}}

.img-field{margin:12px 0 4px}
.img-field-lbl{display:block;margin-bottom:6px;color:var(--slate-700);font-size:10px;font-weight:700}
.img-widget{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.img-box{position:relative;width:96px;height:96px;flex:none;border:1px solid #CFC6B3;border-radius:11px;background:#FAF7F0;overflow:hidden}
.img-box img{width:100%;height:100%;object-fit:cover;display:block}
.img-box-ph{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:4px;color:#B7AE99;font-size:9px;font-weight:700;text-align:center}
.img-box-ph .i{width:22px;height:22px}
.img-spin{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.72)}
.img-spin .i{width:26px;height:26px;color:var(--brand-olive);animation:imgspin 900ms linear infinite}
@keyframes imgspin{to{transform:rotate(360deg)}}
.img-tools{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.img-msg{color:var(--slate-500);font-size:10px;line-height:1.4}
.img-msg.bad{color:var(--red)}
.img-field [hidden]{display:none!important}
