:root {
  color-scheme: dark;
  --bg: #071411;
  --panel: rgba(12, 27, 25, 0.72);
  --panel-solid: #0c1b19;
  --border: rgba(184, 219, 204, 0.14);
  --border-green: rgba(85, 214, 166, 0.38);
  --text: #f1f7f4;
  --text-2: #b4c2bd;
  --text-3: #8a9b94;
  --green: #55d6a6;
  --green-2: #3dc991;
  --blue: #64c8ef;
  --red: #f87171;
  --orange: #fb923c;
  --yellow: #fbbf24;
}

*{box-sizing:border-box;margin:0;padding:0}
html{min-height:100%}
body{
  margin:0;min-height:100vh;
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(20,60,48,.28), transparent 60%),
    radial-gradient(800px 400px at 85% 0%, rgba(85,214,166,.08), transparent 55%),
    linear-gradient(180deg,#071411 0%,#050f0d 100%);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* LOGIN */
.login-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}
.login-screen:before{content:"";position:absolute;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle,rgba(85,214,166,.14) 0%,transparent 70%);top:-260px;left:50%;transform:translateX(-50%);filter:blur(10px)}
.login-card{position:relative;width:100%;max-width:400px;background:linear-gradient(155deg,rgba(18,48,41,.94),rgba(8,24,22,.9));border:1px solid var(--border-green);border-radius:22px;padding:46px 38px;box-shadow:0 60px 100px -60px #000,0 0 0 1px rgba(85,214,166,.06),inset 0 1px rgba(255,255,255,.03);backdrop-filter:blur(22px) saturate(118%);animation:up .5s ease}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.login-head{text-align:center;margin-bottom:34px}
.login-mark{width:54px;height:54px;margin:0 auto 16px;color:var(--green);filter:drop-shadow(0 0 38px rgba(85,214,166,.32))}
.login-h1{font-size:30px;font-weight:600;letter-spacing:-.03em;margin-bottom:6px}
.login-p{color:var(--text-2)}
.login-form{display:flex;flex-direction:column;gap:18px}
.fg{display:flex;flex-direction:column;gap:9px}
.fl{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3)}
.fi{padding:11px 14px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.02);color:var(--text);font:inherit;font-size:14px;transition:.2s}
.fi:hover{border-color:rgba(184,219,204,.26)}
.fi:focus{outline:none;border-color:rgba(85,214,166,.6);background:rgba(85,214,166,.05);box-shadow:0 0 0 4px rgba(85,214,166,.07)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:.2s;text-decoration:none}
.btn-primary{background:linear-gradient(135deg,rgba(85,214,166,.95),rgba(61,201,145,.95));color:#041410;box-shadow:0 12px 44px -12px rgba(85,214,166,.62)}
.btn-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}
.btn-ghost{color:var(--text-2)}
.btn-ghost:hover{color:var(--text);background:rgba(255,255,255,.03)}
.btn-full{width:100%}
.err{color:var(--red);text-align:center;font-size:13px;padding:9px 12px;border-radius:10px;background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.34);display:none}

/* APP */
.shell{display:none;min-height:100vh;min-height:100dvh;grid-template-columns:268px 1fr;grid-template-rows:74px 1fr;grid-template-areas:"side head" "side main"}
.head{grid-area:head;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(12,29,26,.92),rgba(7,20,18,.84));backdrop-filter:blur(18px)}
.search{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.01);color:var(--text-3);min-width:300px}
.search input{flex:1;background:transparent;border:none;color:var(--text);font:inherit;font-size:13px}
.search input:focus{outline:none}
.search input::placeholder{color:var(--text-3)}
.hact{display:flex;align-items:center;gap:10px}
.hbrand{display:none;align-items:center;gap:10px;font-size:15px;letter-spacing:-.02em;white-space:nowrap}
.hbrand .hmark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:radial-gradient(circle,rgba(85,214,166,.24),transparent 70%);color:var(--green);flex:none}
.tabbar{display:none}
.huser{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 5px;border-radius:999px;border:1px solid var(--border)}
.ava{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(85,214,166,.38),rgba(100,200,239,.22));font-weight:600;font-size:13px}
.umeta{display:flex;flex-direction:column;line-height:1.15}
.uname{font-size:13px}
.urole{font-size:11px;color:var(--text-3)}

/* SIDEBAR */
.side{grid-area:side;display:flex;flex-direction:column;border-right:1px solid var(--border);background:linear-gradient(180deg,rgba(10,26,23,.99),rgba(6,16,14,.99));padding:22px 18px;gap:24px}
.sbrand{display:flex;align-items:center;gap:12px;padding:0 8px}
.smark{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(85,214,166,.24),transparent 70%);color:var(--green)}
.stext{display:flex;flex-direction:column}
.stitle{font-weight:600;letter-spacing:-.01em}
.ssub{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}
.nav{display:flex;flex-direction:column;gap:4px}
.nsec{margin-bottom:16px}
.nst{padding:0 10px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}
.ni{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:12px;color:var(--text-2);text-decoration:none;font-size:13px;border:1px solid transparent;transition:.18s}
.ni svg{width:18px;height:18px;opacity:.8}
.ni:hover{color:var(--text);background:rgba(255,255,255,.02)}
.ni.active{color:var(--text);background:linear-gradient(90deg,rgba(85,214,166,.16),transparent);border-color:rgba(85,214,166,.26)}
.ni.active svg{color:var(--green);opacity:1}
.sfoot{margin-top:auto;padding:14px 16px;border-radius:16px;border:1px solid var(--border);background:radial-gradient(circle at top,rgba(85,214,166,.12),transparent 70%);display:flex;flex-direction:column;gap:10px}
.sft{font-weight:500}
.sfs{font-size:12px;color:var(--text-2)}

/* MAIN */
.main{grid-area:main;padding:34px 42px 56px;display:flex;flex-direction:column;gap:30px;overflow-x:hidden}
.phead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.pt h1{font-size:28px;font-weight:600;letter-spacing:-.03em;margin-bottom:4px}
.pt p{color:var(--text-2)}
.pact{display:flex;gap:8px}

/* KPI */
.kgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kcard{position:relative;padding:20px 24px;border-radius:18px;border:1px solid var(--border);background:radial-gradient(220px 120px at top right,rgba(85,214,166,.14),transparent),linear-gradient(180deg,rgba(16,36,33,.92),rgba(9,24,22,.88));overflow:hidden;display:flex;flex-direction:column;gap:10px;box-shadow:0 36px 70px -48px #000}
.kcard:after{content:"";position:absolute;inset:0;background:radial-gradient(200px 100px at top right,rgba(85,214,166,.07),transparent);pointer-events:none}
.kcard>*{position:relative;z-index:1}
.kh{display:flex;align-items:center;justify-content:space-between;color:var(--text-3)}
.kl{font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.kt{font-size:12px;display:flex;align-items:center;gap:6px}
.tup{color:var(--green)}
.tdown{color:var(--red)}
.kv{font-size:36px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.kf{font-size:12px;color:var(--text-3)}

/* GRID */
.cgrid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:16px;align-items:start}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}

/* PANEL */
.panel{border-radius:20px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(16,36,33,.92),rgba(8,22,20,.88));box-shadow:0 44px 76px -56px #000;overflow:hidden}
.ph{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 28px 16px;gap:14px}
.ptg h2{font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:3px}
.pts{color:var(--text-3);font-size:13px}
.pac{display:flex;gap:8px}
.pb{padding:0 28px 24px;display:flex;flex-direction:column;gap:16px}

/* TABLE */
.tw{overflow-x:auto}
.dt{width:100%;border-collapse:collapse;min-width:660px}
.dt thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);font-weight:500;padding:9px 0;border-bottom:1px solid var(--border)}
.dt tbody td{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.015);vertical-align:middle}
.dt tbody tr:last-child td{border-bottom:none}
.dt tbody tr:hover td{background:radial-gradient(90% 100% at left,rgba(85,214,166,.07),transparent)}
.cm{display:flex;flex-direction:column;gap:3px}
.ct{font-weight:500}
.cs{font-size:12px;color:var(--text-3)}
.pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:11px;border:1px solid var(--border);color:var(--text-2)}
.ps{border-color:rgba(85,214,166,.4);color:var(--green)}
.pw{border-color:rgba(251,191,36,.4);color:var(--yellow)}
.am{font-variant-numeric:tabular-nums;font-weight:500}
.ap{color:var(--green)}
.an{color:var(--red)}
.amn{color:var(--text-2)}
.es{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:36px 18px;color:var(--text-3)}
.et{font-weight:500;color:var(--text)}

/* CHART */
.ca{height:260px;border-radius:16px;border:1px dashed rgba(184,219,204,.22);display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;gap:10px;color:var(--text-3)}

/* Formularios y diálogos */
select.fi, textarea.fi { width: 100%; }
select.fi { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--text-3) 50%), linear-gradient(135deg, var(--text-3) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-right: 34px; }
textarea.fi { min-height: 84px; resize: vertical; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-grid .full { grid-column: 1 / -1; }
.modal-backdrop { position: fixed; inset: 0; z-index: 200; display: none; place-items: center; padding: 20px; background: rgba(3, 12, 10, .72); backdrop-filter: blur(6px); }
.modal-backdrop.open { display: grid; }
.modal { width: min(520px, 100%); max-height: 90vh; overflow: auto; border-radius: 20px; border: 1px solid var(--border-green); background: linear-gradient(165deg, rgba(18, 44, 38, .98), rgba(8, 24, 21, .98)); box-shadow: 0 50px 100px -40px #000; padding: 26px 28px; animation: up .22s ease; }
.modal h3 { font-size: 18px; margin-bottom: 4px; }
.modal .modal-sub { color: var(--text-3); font-size: 13px; margin-bottom: 20px; }
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.btn-sm { padding: 7px 12px; font-size: 12px; border-radius: 9px; }
.mono { font-variant-numeric: tabular-nums; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 300; padding: 12px 18px; border-radius: 12px; border: 1px solid var(--border-green); background: rgba(10, 30, 26, .97); color: var(--text); font-size: 13px; box-shadow: 0 20px 50px -20px #000; display: none; }
.toast.show { display: block; animation: up .2s ease; }
.toast.error { border-color: rgba(248,113,113,.5); color: #fecaca; }
.balance-big { font-size: 34px; font-weight: 600; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.progress { height: 8px; border-radius: 999px; background: rgba(255,255,255,.06); overflow: hidden; }
.progress > span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--green), var(--blue)); }

/* IMPORTACIÓN */
.import-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.hint{font-size:12.5px;line-height:1.6;color:var(--text-3)}
.hint code{font-size:12px;padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--text-2);word-break:break-all}
.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:30px 20px;border-radius:16px;border:1px dashed rgba(184,219,204,.3);background:radial-gradient(240px 130px at 50% 0%,rgba(85,214,166,.09),transparent 70%),rgba(255,255,255,.012);cursor:pointer;transition:.2s}
.dropzone:hover,.dropzone.drag{border-color:rgba(85,214,166,.65);background:radial-gradient(240px 130px at 50% 0%,rgba(85,214,166,.16),transparent 70%),rgba(85,214,166,.04)}
.dropzone svg{width:34px;height:34px;color:var(--green);opacity:.85}
.dropzone strong{font-size:14px;font-weight:500}
.dropzone span{font-size:12px;color:var(--text-3)}
.dropzone em{font-style:normal;font-size:12px;color:var(--green);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox-box{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.inbox-box>div{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.015)}
.inbox-box strong{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:var(--text-2)}
.chip b{font-weight:600;color:var(--text)}
.chip.ok{border-color:rgba(85,214,166,.4);background:rgba(85,214,166,.08)}
.chip.warn{border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.07)}
.chip.muted{opacity:.8}
.chip.bank{border-color:rgba(100,200,239,.45);background:rgba(100,200,239,.09);color:var(--text)}
.chip.bank b{color:#bfe9fb;letter-spacing:.04em;text-transform:uppercase;font-size:11px}

/* Ajustes: interruptores y acciones */
.set-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.set-row:first-child{padding-top:0}
.set-row:last-of-type{border-bottom:none}
.set-row>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.set-row strong{font-size:14px;font-weight:500}
.set-row small{font-size:12.5px;line-height:1.5;color:var(--text-3)}
.switch{position:relative;display:inline-flex;flex:0 0 auto;cursor:pointer}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch span{position:relative;display:block;width:44px;height:26px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.05);transition:background .2s,border-color .2s}
.switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-3);transition:transform .2s,background .2s}
.switch input:checked+span{border-color:rgba(85,214,166,.55);background:rgba(85,214,166,.2)}
.switch input:checked+span:after{transform:translateX(18px);background:var(--green)}
.switch input:focus-visible+span{outline:2px solid rgba(85,214,166,.55);outline-offset:2px}
.switch input:disabled+span{opacity:.45;cursor:not-allowed}
.row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.row-actions .btn{flex:0 1 auto}

.import-table{min-width:760px}
.import-table td{padding:10px 0!important}
.import-table tr.skip td{opacity:.45}
.import-table tr.skip .ct{text-decoration:line-through}
.import-table .inp{width:16px;height:16px;accent-color:var(--green);cursor:pointer}
.import-table .why{font-size:11px;color:var(--yellow)}
@media(max-width:1080px){.import-grid{grid-template-columns:1fr}}

/* ASISTENTE */
.chat-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr);gap:16px;align-items:start}
.chat-panel{display:flex;flex-direction:column;min-height:640px}
.chat-pb{flex:1;gap:14px}
.chat-messages{display:flex;flex-direction:column;gap:14px;max-height:min(58vh,620px);overflow-y:auto;padding:4px 4px 8px;scroll-behavior:smooth}
.chat-msg{display:flex;gap:10px;align-items:flex-start}
.chat-msg.user{flex-direction:row-reverse}
.chat-avatar{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:10px;font-weight:600;letter-spacing:.04em;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text-2)}
.user .chat-avatar{background:rgba(100,200,239,.14);color:var(--blue);border-color:rgba(100,200,239,.3)}
.assistant .chat-avatar{background:radial-gradient(circle,rgba(85,214,166,.26),transparent 70%);color:var(--green);border-color:rgba(85,214,166,.3)}
.chat-bubble{max-width:min(100%,720px);padding:12px 15px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.02);font-size:13.5px;line-height:1.65}
.user .chat-bubble{background:linear-gradient(135deg,rgba(100,200,239,.12),rgba(85,214,166,.06));border-color:rgba(100,200,239,.22);border-top-right-radius:6px}
.assistant .chat-bubble{border-top-left-radius:6px}
.chat-text{white-space:pre-wrap;overflow-wrap:anywhere}
.chat-text strong{color:var(--text);font-weight:600}
.chat-text code{font-size:12px;padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--text-2)}
.chat-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.chat-meta .chip{font-size:10.5px;padding:3px 8px}
.chat-bubble time{display:block;margin-top:8px;font-size:10.5px;color:var(--text-3)}
.chat-welcome{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:22px 22px;border-radius:16px;border:1px dashed rgba(184,219,204,.22);background:radial-gradient(260px 140px at 10% 0%,rgba(85,214,166,.1),transparent 70%),rgba(255,255,255,.012)}
.chat-welcome strong{font-size:16px;font-weight:600}
.chat-welcome p{color:var(--text-2);max-width:56ch}
.cw-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:18px;color:var(--green);background:radial-gradient(circle,rgba(85,214,166,.24),transparent 70%);border:1px solid rgba(85,214,166,.3)}
.chat-suggestions{display:flex;flex-wrap:wrap;gap:7px}
.chip.prompt{cursor:pointer;font:inherit;background:transparent;transition:.18s}
.chip.prompt:hover{border-color:rgba(85,214,166,.5);color:var(--text);background:rgba(85,214,166,.08)}
.chat-form{display:flex;gap:10px;align-items:flex-end}
.chat-form textarea{min-height:46px;max-height:150px;resize:vertical}
.chat-form .btn{height:46px;flex:none}
.typing{display:inline-flex;gap:4px;padding:4px 2px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--green);animation:tpulse 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes tpulse{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
.chat-side{display:flex;flex-direction:column;gap:16px}
.rule-item{align-items:flex-start}
.rule-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.rule-tag{display:block;margin-top:4px;font-size:10.5px;color:var(--green)}
.check-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2)}
.check-row input{width:16px;height:16px;accent-color:var(--green)}

/* RESPONSIVE */
@media(max-width:1280px){.shell{grid-template-columns:240px 1fr}.kgrid{grid-template-columns:repeat(2,1fr)}.cgrid{grid-template-columns:1fr}}

/* Tablet y móvil: barra inferior como en Conde's Diary */
@media(max-width:1080px){
  .shell{grid-template-columns:1fr;grid-template-areas:"head" "main"}
  .side{display:none}
  .chat-layout{grid-template-columns:1fr}
  .chat-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}
  .head{position:sticky;top:0;z-index:60;min-height:64px;padding:env(safe-area-inset-top) calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left))}
  .hbrand{display:flex}
  .main{padding:22px 18px calc(62px + env(safe-area-inset-bottom) + 28px)}
  .tabbar{
    display:grid;position:fixed;left:0;right:0;bottom:0;z-index:70;
    grid-template-columns:repeat(6,1fr);
    padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    background:rgba(8,24,21,.94);
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border-top:1px solid var(--border);
    box-shadow:0 -18px 44px -34px #000;
  }
  .tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;color:var(--text-3);text-decoration:none;font-size:10.5px;font-weight:500;letter-spacing:.01em;transition:color .18s}
  .tab svg{width:20px;height:20px;opacity:.85}
  .tab.active{color:var(--green)}
  .tab.active svg{opacity:1;filter:drop-shadow(0 0 10px rgba(85,214,166,.4))}
  .tab.active:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:2px;border-radius:0 0 3px 3px;background:var(--green)}
  .toast{bottom:calc(62px + env(safe-area-inset-bottom) + 14px)}
}

@media(max-width:900px){.search{display:none}}

@media(max-width:720px){
  .head{padding:env(safe-area-inset-top) calc(12px + env(safe-area-inset-right)) 0 calc(12px + env(safe-area-inset-left));gap:8px}
  .hbrand{gap:8px}
  .hbrand strong{font-size:14px}
  .hact{gap:6px}
  .hact>.btn-ghost{display:none}
  .hact>.btn-primary{padding:9px 11px}
  .hact>.btn-primary span{display:none}
  .huser{padding:3px 5px 3px 3px;gap:5px}
  .umeta{display:none}
  #logoutBtn{padding:6px 7px;font-size:12px}
  .main{padding:18px 12px calc(62px + env(safe-area-inset-bottom) + 22px);gap:22px}
  .phead{flex-direction:column;align-items:stretch;gap:12px}
  .pt h1{font-size:24px}
  .pt p{font-size:13px}
  .pact{flex-wrap:wrap}
  .pact .btn{flex:1 1 auto}
  .panel{border-radius:16px}
  .ph{padding:18px 16px 12px;flex-wrap:wrap;gap:10px}
  .pb{padding:0 16px 18px}
  .kgrid{grid-template-columns:1fr;gap:12px}
  .kcard{padding:18px}
  .kv{font-size:30px}
  .g2{grid-template-columns:1fr;gap:14px}
  .form-grid{grid-template-columns:1fr}
  .form-grid .full{grid-column:auto}
  .modal-backdrop{padding:0;place-items:end center}
  .modal{width:100%;max-height:92dvh;border-radius:22px 22px 0 0;border-left:none;border-right:none;border-bottom:none;padding:22px 18px calc(18px + env(safe-area-inset-bottom))}
  .modal-actions .btn{flex:1}
  .login-screen{padding:16px}
  .login-card{padding:34px 22px;border-radius:20px}
  .login-h1{font-size:26px}
  .toast{left:12px;right:12px;text-align:center}
  .dash-table,.mov-table,.import-table{min-width:0}
  .dash-table th:nth-child(3),.dash-table td:nth-child(3),
  .dash-table th:nth-child(4),.dash-table td:nth-child(4){display:none}
  .mov-table th:nth-child(3),.mov-table td:nth-child(3),
  .mov-table th:nth-child(4),.mov-table td:nth-child(4),
  .mov-table th:nth-child(5),.mov-table td:nth-child(5),
  .mov-table th:nth-child(6),.mov-table td:nth-child(6){display:none}
  .mov-table td{padding:11px 4px}
  .import-table th:nth-child(4),.import-table td:nth-child(4),
  .import-table th:nth-child(5),.import-table td:nth-child(5),
  .import-table th:nth-child(6),.import-table td:nth-child(6){display:none}
  .import-table td{padding:10px 3px!important}
  .chat-side{grid-template-columns:1fr}
  .chat-panel{min-height:auto}
  .chat-messages{max-height:50vh}
  .chat-form{flex-direction:column;align-items:stretch}
  .chat-form .btn{width:100%}
  .rule-item{flex-wrap:wrap}
  .rule-actions{justify-content:flex-start;width:100%}
}

@media(max-width:400px){
  .hbrand strong{display:none}
  .inbox-box{grid-template-columns:1fr}
}
