/* LSG FileWiz -- shared design tokens, condensed from the approved design preview. */
:root{
  --bg:#EEF2F1; --surface:#FFFFFF; --surface-2:#E3EAE8; --border:#CBD6D2;
  --ink:#15302B; --ink-muted:#52655F; --ink-faint:#7C8D87;
  --accent:#0F766E; --accent-strong:#0A5A53; --accent-soft:#DCEEEA;
  --gold:#9C7520; --gold-strong:#7E5D14; --gold-soft:#F2E5C4;
  --danger:#AE4228; --danger-soft:#F4DED4;
  --success:#2E7D4F; --success-soft:#DCEFE1;
  --radius:10px;
}
/* Dark mode -- same token set, re-pointed. Applies either when the OS/browser
   is set to dark and the user hasn't explicitly overridden it here
   (`:root:not([data-theme="light"])`), or when the header toggle set
   data-theme="dark" explicitly (which also wins over a light OS setting). */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0E1B18; --surface:#152722; --surface-2:#1C332D; --border:#2A4941;
    --ink:#E9F2EF; --ink-muted:#A3BBB3; --ink-faint:#748D85;
    --accent:#33B3A4; --accent-strong:#5FD1C2; --accent-soft:#173A34;
    --gold:#D9B15B; --gold-strong:#EBCB86; --gold-soft:#2E2611;
    --danger:#E28A6B; --danger-soft:#3B2019;
    --success:#6BD59A; --success-soft:#123321;
  }
}
:root[data-theme="dark"]{
  --bg:#0E1B18; --surface:#152722; --surface-2:#1C332D; --border:#2A4941;
  --ink:#E9F2EF; --ink-muted:#A3BBB3; --ink-faint:#748D85;
  --accent:#33B3A4; --accent-strong:#5FD1C2; --accent-soft:#173A34;
  --gold:#D9B15B; --gold-strong:#EBCB86; --gold-soft:#2E2611;
  --danger:#E28A6B; --danger-soft:#3B2019;
  --success:#6BD59A; --success-soft:#123321;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,'Times New Roman',serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.display{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.01em}
.mono{font-family:'Courier New',monospace}
a{color:inherit}
button{font-family:inherit}

.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.narrow{max-width:460px;margin:0 auto;padding:0 20px}

.site-header{background:var(--surface);border-bottom:1px solid var(--border)}
.site-header-inner{max-width:1180px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;gap:24px;justify-content:space-between}
.brand{display:flex;align-items:center;gap:9px;font-family:Arial,sans-serif;font-weight:800;font-size:1.22rem;text-decoration:none;color:var(--ink)}
.brand img{width:30px;height:auto}
.site-nav{display:flex;align-items:center;gap:24px;font-family:Arial,sans-serif;font-weight:600;font-size:.92rem;color:var(--ink-muted)}
.site-nav a{text-decoration:none}
.site-nav a:hover{color:var(--ink)}
.hdr-actions{display:flex;align-items:center;gap:10px}
.theme-toggle{background:transparent;border:1px solid var(--border);color:var(--ink-muted);border-radius:8px;padding:7px 10px;font-size:.78rem;font-weight:700;font-family:Arial,sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.lang-switch{background:transparent;border:1px solid var(--border);color:var(--ink-muted);border-radius:8px;padding:7px 10px;font-size:.78rem;font-weight:700;font-family:Arial,sans-serif;text-decoration:none;display:inline-flex;align-items:center}
.lang-switch:hover{border-color:var(--accent);color:var(--ink)}
.theme-toggle:hover{border-color:var(--accent);color:var(--ink)}
.theme-toggle svg{width:14px;height:14px}

@media (max-width:640px){
  .site-header-inner{flex-wrap:wrap;row-gap:10px}
  .site-nav{order:3;flex-basis:100%;gap:16px}
}

.btn{font-family:Arial,sans-serif;font-weight:700;font-size:.88rem;padding:10px 18px;border-radius:8px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--border)}
.btn-ghost:hover{background:var(--surface-2)}
.btn-sm{padding:7px 12px;font-size:.8rem}
.btn-block{width:100%;justify-content:center}
.btn-danger{background:var(--danger);color:#fff}
.btn-gold{background:var(--gold);color:#2A1F08}

.badge{font-family:'Courier New',monospace;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:100px;font-weight:700;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.badge-pro{background:var(--gold-soft);color:var(--gold-strong)}
.badge-free{background:var(--accent-soft);color:var(--accent-strong)}
.badge-live{background:var(--success-soft);color:var(--success)}
.badge-danger{background:var(--danger-soft);color:var(--danger)}

.flash{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem}
.flash-error{background:var(--danger-soft);color:var(--danger)}

/* Home */
.hero{padding:56px 0 36px;border-bottom:1px solid var(--border)}
.hero h1{font-size:clamp(1.7rem,3.6vw,2.5rem);line-height:1.15;margin:0 0 14px;max-width:15ch}
.hero p{color:var(--ink-muted);font-size:1.05rem;max-width:50ch;line-height:1.6;margin:0}
.tool-search-wrap{margin-top:22px;max-width:440px}
.tool-search{width:100%;padding:12px 16px;border-radius:100px;border:1.5px solid var(--border);background:var(--surface);color:var(--ink);font-family:Arial,sans-serif;font-size:.92rem}
.tool-search:focus{outline:none;border-color:var(--accent)}
.tool-search-empty{color:var(--ink-faint);font-size:.9rem;padding:10px 0 0;font-family:Arial,sans-serif}
.tool-section{padding:26px 0 6px}
.tool-section h2{font-size:1rem;margin:0 0 14px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:800}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink);position:relative}
.tool-card:hover{border-color:var(--accent)}
.tool-card-title{font-family:Arial,sans-serif;font-weight:700;font-size:.92rem}
.tool-card-blurb{font-size:.8rem;color:var(--ink-muted);line-height:1.4}
.tool-card .badge{position:absolute;top:12px;right:12px}

/* Tool workspace */
.crumb{color:var(--ink-faint);font-size:.82rem;padding:16px 0 0;font-family:Arial,sans-serif}
.crumb a{text-decoration:none}
.workspace-head{padding:10px 0 22px}
.workspace-head h1{font-size:1.5rem;margin:0}
.workspace-head p{color:var(--ink-muted);margin:6px 0 0}
.workspace{display:grid;grid-template-columns:1fr 320px;gap:20px;padding-bottom:60px}
@media (max-width:760px){.workspace{grid-template-columns:1fr}}
.bulk-toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--ink-muted);font-family:Arial,sans-serif;margin-bottom:10px;cursor:pointer}
.bulk-toggle input{width:16px;height:16px;accent-color:var(--accent)}
.dropzone{border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--surface);padding:30px;text-align:center;color:var(--ink-muted);margin-bottom:16px;cursor:pointer}
.dropzone.dragover{border-color:var(--accent);background:var(--accent-soft)}
.file-list{list-style:none;padding:0;margin:0}
.file-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px;font-size:.87rem}
.file-row .name{flex:1;font-family:Arial,sans-serif;font-weight:600}
.file-row button{background:none;border:none;color:var(--danger);cursor:pointer;font-size:1rem}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.panel h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);margin:0 0 14px;font-family:Arial,sans-serif}
.field{margin-bottom:14px}
.field label{display:block;font-family:Arial,sans-serif;font-weight:600;font-size:.8rem;margin-bottom:6px;color:var(--ink-muted)}
.field input,.field select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--ink);font-family:inherit;font-size:.9rem}
.status{margin-top:16px;padding:12px 14px;border-radius:10px;font-size:.88rem;line-height:1.5}
.status.loading{background:var(--accent-soft);color:var(--accent-strong)}
.status.success{background:var(--success-soft);color:var(--success)}
.status.error{background:var(--danger-soft);color:var(--danger)}
.status a.download-link{display:inline-block;margin-top:6px;font-weight:700;color:var(--success);text-decoration:underline}

/* Auth */
.auth-shell{min-height:520px;display:flex;align-items:center;padding:56px 0}
.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:32px 28px;width:100%;box-shadow:0 10px 30px rgba(21,48,43,.08)}
.auth-card img{width:88px;height:auto;margin-bottom:8px}
.auth-card h1{font-size:1.35rem;margin:6px 0 6px}
.auth-card .sub{color:var(--ink-muted);font-size:.88rem;margin:0 0 22px}
.auth-foot{text-align:center;font-size:.86rem;color:var(--ink-muted);margin-top:16px}
.auth-legal{text-align:center;font-size:.75rem;color:var(--ink-faint);margin-top:18px}
.admin-shell .auth-card{background:#0F211C;color:#E8F1EE;border-color:#06130F}
.admin-shell .field label{color:#9FB7AF}
.admin-shell .field input{background:#173029;border-color:#264038;color:#E8F1EE}
.admin-shell .sub{color:#9FB7AF}

/* Pricing */
.pricing-head{text-align:center;padding:50px 0 8px}
.pricing-head h1{font-size:1.8rem;margin:0 0 8px}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:32px 0 56px}
@media (max-width:820px){.plan-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}}
.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:14px}
.plan-card.featured{border-color:var(--gold)}
.plan-name{font-family:Arial,sans-serif;font-weight:800;font-size:1.02rem}
.plan-price{font-family:Arial,sans-serif;font-size:1.9rem;font-weight:800}
.plan-price span{font-size:.85rem;color:var(--ink-muted);font-weight:600}
.plan-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:.86rem;color:var(--ink-muted)}

/* Dashboard / admin tables */
.dash-head{display:flex;justify-content:space-between;align-items:flex-end;padding:26px 0 18px;flex-wrap:wrap;gap:10px}
.dash-head h1{font-size:1.4rem;margin:0}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
@media (max-width:760px){.stat-grid{grid-template-columns:repeat(2,1fr)}}
.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.stat-tile .k{font-size:.74rem;color:var(--ink-muted);font-family:Arial,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.stat-tile .v{font-family:Arial,sans-serif;font-size:1.6rem;font-weight:800;margin-top:4px}
table{width:100%;border-collapse:collapse;font-size:.86rem}
.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:30px}
th{text-align:left;font-family:Arial,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);padding:12px 14px;border-bottom:1px solid var(--border);white-space:nowrap}
td{padding:12px 14px;border-bottom:1px solid var(--border);white-space:nowrap}
tr:last-child td{border-bottom:none}
.upgrade-banner{margin-top:6px;background:linear-gradient(100deg,var(--gold-soft),var(--surface));border:1px solid var(--gold);border-radius:var(--radius);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}

.sub{color:var(--ink-muted);font-size:.9rem;margin:0 0 18px}
.field-hint{font-size:.78rem;color:var(--ink-muted);margin:-6px 0 14px}
.upi-pay-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.upi-qr-img{width:160px;height:160px;border-radius:8px;background:#fff;padding:6px;border:1px solid var(--border);flex-shrink:0}
.upi-pay-details{flex:1;min-width:180px}
.upi-pay-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}
.upi-pay-row:last-of-type{border-bottom:none}
.upi-pay-row .k{font-size:.78rem;color:var(--ink-muted);font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.upi-pay-row .v{font-weight:700}
.pay-amount{font-size:1.3rem;color:var(--accent-strong)}
.upi-scan-hint{font-size:.82rem;color:var(--ink-muted);margin:10px 0 0}

.admin-page{background:#0D1917;min-height:100%}
.admin-page .site-header{background:#0F211C;border-color:#06130F}
.admin-page .brand,.admin-page .site-nav a{color:#E8F1EE}
.admin-wrap{color:#E8F1EE}
.admin-wrap .stat-tile,.admin-wrap .table-wrap{background:#132623;border-color:#24423C}
.admin-wrap .k{color:#9FB7AF}
.admin-wrap td,.admin-wrap th{border-color:#24423C;color:#E8F1EE}
.admin-wrap th{color:#9FB7AF}
.admin-wrap .panel{background:#132623;border-color:#24423C}
.admin-wrap .field label{color:#9FB7AF}
.admin-wrap .field input{background:#173029;border-color:#264038;color:#E8F1EE}
.admin-wrap .section-title span{color:#6E8B83}
.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:18px}
.admin-wrap .chart-card{background:#132623;border-color:#24423C}
.chart-card h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);margin:0 0 14px;font-family:Arial,sans-serif}
.two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
@media (max-width:820px){.two-col{grid-template-columns:1fr}}
.bar-row{display:flex;align-items:center;gap:10px;font-size:.82rem;padding:6px 0}
.bar-row .name{width:130px;flex:none;color:var(--ink-muted)}
.bar-row .track{flex:1;background:var(--surface-2);border-radius:100px;height:8px;overflow:hidden}
.admin-wrap .bar-row .track{background:#1B322E}
.bar-row .fill{height:100%;background:var(--accent);border-radius:100px}
.bar-row .count{width:40px;text-align:right;font-family:'Courier New',monospace;font-size:.78rem;color:var(--ink-faint)}
.section-title{font-family:Arial,sans-serif;font-weight:700;font-size:1rem;margin:24px 0 10px}

/* Footer */
.site-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:30px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.3fr;gap:28px;padding:36px 0 28px}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}
.footer-tag{color:var(--ink-muted);font-size:.85rem;line-height:1.55;max-width:30ch;margin:12px 0}
.footer-logo-img{width:150px;height:auto;display:block}
.footer-col h4{font-family:Arial,sans-serif;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);margin:0 0 12px}
.footer-lang-note{font-size:.76rem;color:var(--ink-faint);margin:10px 0 0}
.footer-col a{display:block;font-size:.87rem;color:var(--ink);text-decoration:none;margin-bottom:9px}
.footer-col a:hover{color:var(--accent-strong)}
.footer-contact{font-size:.79rem;color:var(--ink-muted);margin:0 0 7px;line-height:1.55}
.footer-bottom{border-top:1px solid var(--border);padding:16px 20px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.77rem;color:var(--ink-faint)}

/* Legal docs */
.legal-doc{padding:36px 0 60px;max-width:720px}
.legal-doc h1{font-size:1.6rem;margin:0 0 6px}
.legal-doc .legal-meta{font-family:'Courier New',monospace;font-size:.76rem;color:var(--ink-faint)}
.legal-doc .draft-note{background:var(--gold-soft);border:1px solid var(--gold);color:var(--gold-strong);border-radius:10px;padding:12px 14px;font-size:.83rem;margin:18px 0 26px;line-height:1.5;font-family:Arial,sans-serif;font-weight:600}
.legal-doc h2{font-size:1.02rem;margin:26px 0 10px;font-family:Arial,sans-serif}

/* PDF Editor (Annotate / Redact / Sign / Crop) */
.editor-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:16px;font-family:Arial,sans-serif}
.ed-btn{border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:8px;padding:8px 12px;font-size:.82rem;font-weight:600;font-family:Arial,sans-serif;cursor:pointer}
.ed-btn:hover{border-color:var(--accent)}
.ed-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}
.ed-sep{width:1px;align-self:stretch;background:var(--border);margin:0 4px}
.ed-color{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);cursor:pointer;padding:0}
.ed-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}
.ed-swatch.active{border-color:var(--ink)}
.ed-range{width:100px;vertical-align:middle}
.editor-body{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:start}
@media (max-width:820px){.editor-body{grid-template-columns:1fr}}
.editor-pages{display:flex;flex-direction:column;gap:18px;max-height:74vh;overflow-y:auto;padding:4px}
.editor-page-wrap{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px;text-align:center;overflow-x:auto}
.editor-page-wrap .pg-label{font-family:'Courier New',monospace;font-size:.72rem;color:var(--ink-faint);margin-bottom:6px;text-align:left}
.editor-page-wrap canvas{max-width:100%;height:auto;border:1px solid var(--border);border-radius:6px;cursor:crosshair;touch-action:none;display:block;margin:0 auto}
.editor-side{position:sticky;top:16px}
.editor-side .field-mini{margin-bottom:12px;font-size:.82rem;font-family:Arial,sans-serif;color:var(--ink-muted)}
.editor-side label{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink-muted);margin-bottom:8px}
.sig-modal-backdrop{position:fixed;inset:0;background:rgba(15,32,28,.55);display:flex;align-items:center;justify-content:center;z-index:50}
.sig-modal{background:var(--surface);border-radius:14px;padding:20px;width:min(92vw,460px)}
.sig-modal canvas{width:100%;height:200px;border:1.5px dashed var(--border);border-radius:10px;touch-action:none;cursor:crosshair;background:#fff}
.sig-modal-actions{display:flex;gap:10px;margin-top:14px}
.form-field-row{margin-bottom:14px}
.form-field-row label{display:block;font-family:Arial,sans-serif;font-weight:600;font-size:.8rem;margin-bottom:6px;color:var(--ink-muted)}
.form-field-row input[type=text]{width:100%;padding:9px 11px;border-radius:8px;border:1px solid var(--border);background:var(--bg);font-family:inherit}

/* Doc Scanner */
.scan-live{width:100%;max-width:520px;border-radius:var(--radius);border:1px solid var(--border);background:#000;display:block}
.scan-canvas-wrap{position:relative;max-width:640px;margin:0 auto}
.scan-canvas-wrap canvas{width:100%;height:auto;border:1px solid var(--border);border-radius:var(--radius);touch-action:none;display:block}
.scan-handle{position:absolute;width:18px;height:18px;margin:-9px;border-radius:50%;background:var(--gold);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4);cursor:grab}
.scan-filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.scan-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.scan-thumb{width:76px;height:100px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}
.scan-thumb-wrap{position:relative}
.scan-thumb-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--danger);color:#fff;border:none;font-size:.7rem;cursor:pointer;line-height:20px;text-align:center;padding:0}
.legal-doc p,.legal-doc li{color:var(--ink-muted);font-size:.92rem;line-height:1.7}
