:root{--bg:#f3f0ea;--bg-elevated:#fffdf8;--ink:#1c1a17;--muted:#6b645a;--line:#ddd4c6;--accent:#1f4d3a;--accent-soft:#e3efe8;--danger:#9b2c2c;--warn:#8a5a12;--radius:12px;--shadow:0 10px 30px rgba(28,26,23,.06);--font:"Manrope",system-ui,sans-serif}*{box-sizing:border-box}body,html{background:radial-gradient(circle at top left,rgba(31,77,58,.08),transparent 35%),linear-gradient(180deg,#f7f3ec 0,var(--bg) 100%);color:var(--ink);font-family:var(--font);margin:0;max-width:100%;min-height:100%;overflow-x:hidden;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font:inherit}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.mobile-bar,.nav-backdrop{display:none}.sidebar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8d9;border-right:1px solid var(--line);padding:28px 20px}.brand{font-size:1.35rem;font-weight:700;letter-spacing:-.03em;margin-bottom:28px}.mobile-brand{font-size:1.05rem;margin:0}.desktop-brand{display:block}.sidebar-logout{margin-top:28px}.nav{display:flex;flex-direction:column;gap:6px}.nav a{border-radius:10px;color:var(--muted);font-weight:500;padding:10px 12px}.nav a.router-link-active,.nav a:hover{background:var(--accent-soft);color:var(--accent)}.main{max-width:100%;min-width:0;overflow-x:clip;padding:28px 32px 48px}.page-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.page-head h1{font-size:1.8rem;letter-spacing:-.03em;margin:0 0 6px}.page-head p{color:var(--muted);margin:0}.card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);max-width:100%;min-width:0;padding:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{display:grid;gap:14px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px}.field label{color:var(--muted);font-size:.85rem;font-weight:600}.field input,.field select,.field textarea{background:#fff;border:1px solid var(--line);border-radius:10px;outline:none;padding:10px 12px;width:100%}.field textarea{min-height:96px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f4d3a1f}.btn{align-items:center;background:var(--accent);border:0;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;justify-content:center;padding:10px 14px}.btn:hover{filter:brightness(1.05)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.danger{background:var(--danger)}.btn.ghost{background:transparent;border:1px solid transparent;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:10px}.table{border-collapse:collapse;table-layout:fixed;width:100%}.table td,.table th{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:12px 10px;text-align:left;vertical-align:top;word-break:break-word}.table th{color:var(--muted);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.badge{background:var(--accent-soft);border-radius:999px;color:var(--accent);display:inline-block;font-size:.75rem;font-weight:700;padding:4px 8px}.badge.draft{background:#eee8dc;color:#6b645a}.badge.issued{background:#fdecec;color:#9b2c2c}.badge.paid{background:#e3efe8;color:#1f4d3a}.pay-stamp{border:3px solid;border-radius:8px;font-size:1.1rem;font-weight:800;letter-spacing:.06em;opacity:.85;padding:8px 14px;pointer-events:none;position:absolute;right:24px;text-transform:uppercase;top:28px;transform:rotate(-12deg)}.pay-stamp.paid{color:#1f4d3a}.pay-stamp.unpaid{color:#9b2c2c}.doc{position:relative}.muted{color:var(--muted)}.error{background:#fdecec;border:1px solid #f3c1c1;border-radius:10px;color:var(--danger);padding:10px 12px}.duplicate-alert p{margin:0}.duplicate-list{margin:8px 0 0;padding-left:18px}.duplicate-list a{color:inherit;font-weight:600;text-decoration:underline}.login-wrap{display:grid;min-height:100vh;padding:24px;place-items:center}.login-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:28px;width:min(420px,100%)}.login-card h1{font-size:1.7rem;letter-spacing:-.03em;margin:0 0 8px}.stack{display:flex;flex-direction:column;gap:14px}.items-editor .item-row{display:grid;gap:8px;grid-template-columns:2fr 90px 90px 120px 40px;margin-bottom:8px}.stats{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}.stat{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.stat .label{color:var(--muted);font-size:.85rem}.stat .value{font-size:1.6rem;font-weight:700;margin-top:6px}.doc-toolbar{background:linear-gradient(180deg,#f7f3ec 70%,transparent);display:flex;gap:10px;padding:12px 0;position:sticky;top:0;z-index:5}.doc{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);font-size:11.5px;line-height:1.35;margin:0 auto;max-width:900px;padding:28px}.doc h1{font-size:1rem;margin:0 0 6px}.doc h2{font-size:.95rem;margin:0 0 8px}.doc-meta,.doc-parties,.doc-sign{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin:12px 0}.doc table{border-collapse:collapse;font-size:10.5px;margin:12px 0;width:100%}.doc td,.doc th{border:1px solid #bbb;padding:5px 6px}.doc th{background:#f5f5f5}.doc .right{text-align:right}.doc .center{text-align:center}.filters{display:grid;gap:14px;grid-template-columns:minmax(240px,2fr) minmax(180px,1fr);margin-bottom:18px}.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.phone-link{color:var(--accent);font-weight:700}.call-btn{background:#2563eb}.danger-text,.overdue{color:var(--danger)!important;font-weight:700}.section-head{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin:28px 0 14px}.section-head h2{font-size:1.35rem;margin:0 0 4px}.section-head p{margin:0}.section-head--compact{align-items:center;margin:0 0 14px}.next-calls .section-head--compact{flex-wrap:wrap}.next-calls .section-head--compact>.btn,.next-calls .section-head--compact>a.btn{flex:0 0 auto}.call-create{align-items:end;display:grid;gap:14px;grid-template-columns:minmax(190px,1fr) minmax(260px,2fr) auto}.call-purpose{min-width:0}.purpose-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.purpose-chip{border-radius:999px;font-size:.82rem;min-height:0;padding:4px 10px}.call-timeline{display:grid;gap:12px}.call-entry{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto}.call-entry__main p{margin:8px 0 0;white-space:pre-wrap}.result-form{border-top:1px solid var(--line);display:grid;gap:12px;grid-column:1/-1;padding-top:16px}.quick-create{margin-bottom:22px}.quick-create summary{cursor:pointer;font-weight:700;margin:-4px 0}.quick-create[open] summary{margin-bottom:18px}.stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;cursor:pointer;text-align:left}.stat-button.active{background:var(--accent-soft);border-color:var(--accent)}.stat-button .label,.stat-button .value{display:block}.badge.new,.badge.scheduled{background:#fff4d6;color:var(--warn)}.badge.completed,.badge.qualified,.badge.won{background:#e3efe8;color:var(--accent)}.badge.cancelled,.badge.do_not_call,.badge.lost{background:#fdecec;color:var(--danger)}.badge.contacted,.badge.proposal,.badge.published{background:#e7eefc;color:#294f91}.badge.awaiting_payment{background:#fff4d6;color:var(--warn)}.badge.done,.badge.in_progress{background:#e3efe8;color:var(--accent)}.badge.audit{background:#e7eefc;color:#294f91}.badge.case{background:#eee8dc;color:#6b645a}@media(max-width:900px){.shell{grid-template-columns:1fr}.mobile-bar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8f5;border-bottom:1px solid var(--line);display:flex;gap:12px;padding:10px 12px;position:sticky;top:0;z-index:40}.burger{align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer;display:inline-flex;flex-direction:column;gap:5px;height:44px;justify-content:center;padding:0;width:44px}.burger span{background:var(--ink);border-radius:2px;display:block;height:2px;width:18px}.mobile-quick{margin-left:auto;min-height:44px;padding:10px 14px}.desktop-brand{display:none}.nav-backdrop{background:#1c1a1759;display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .18s ease;z-index:45}.sidebar{border-bottom:0;border-right:1px solid var(--line);bottom:0;left:0;overflow-y:auto;padding-top:20px;position:fixed;top:0;transform:translate(-105%);transition:transform .2s ease;width:min(300px,86vw);z-index:50}.shell.nav-open .sidebar{transform:translate(0)}.shell.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.nav a{align-items:center;display:flex;min-height:44px;padding:12px 14px}.main{padding:16px 12px 88px}.page-head{align-items:stretch;flex-direction:column;gap:12px}.page-head h1{font-size:1.45rem}.page-head .actions,.page-head>.btn,.page-head>a.btn{width:100%}.page-head .actions .btn,.page-head .actions a.btn{flex:1 1 calc(50% - 5px);min-height:44px}.doc-meta,.doc-parties,.doc-sign,.filters,.grid-2,.grid-3,.stats{grid-template-columns:1fr}.stats-4{grid-template-columns:repeat(2,minmax(0,1fr))}.call-create,.call-entry{grid-template-columns:1fr}.items-editor .item-row{grid-template-columns:1fr 1fr}.field input,.field select,.field textarea{font-size:16px;min-height:44px}.field textarea{min-height:110px}.btn{min-height:44px}.purpose-chip{font-size:.9rem;min-height:40px;padding:8px 12px}.actions{gap:8px}.actions .btn,.actions a.btn{flex:1 1 calc(50% - 4px);justify-content:center}.section-head,.section-head--compact{align-items:stretch;flex-direction:column}.section-head .btn,.section-head a.btn,.section-head--compact .btn,.section-head--compact a.btn{width:100%}.desktop-only{display:none!important}.mobile-only{display:grid!important}.mobile-card,.mobile-list{display:grid;gap:10px}.mobile-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}.mobile-card__top{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.mobile-card__actions{display:grid;gap:8px;grid-template-columns:1fr 1fr}.mobile-card__actions .btn{width:100%}}@media(min-width:901px){.mobile-only{display:none!important}}@media print{@page{size:A4;margin:10mm}body,html{background:#fff!important;font-size:10px!important}.doc-toolbar,.mobile-bar,.nav-backdrop,.no-print,.sidebar{display:none!important}.shell{display:block}.doc,.main{padding:0}.doc{border:0;box-shadow:none;font-size:10px;line-height:1.3;max-width:none}.doc h1{font-size:12px}.doc h2{font-size:11px}.doc table{font-size:9.5px}.doc td,.doc th{padding:3px 4px}.signature-img{height:38px!important}.pay-stamp{font-size:.8rem;padding:4px 8px}}.print-hint{color:var(--muted);font-size:.85rem;line-height:1.4;margin:8px 0 0;max-width:640px}html.max-miniapp,html.max-miniapp body{min-height:100%;min-height:100dvh;overscroll-behavior:none}.max-miniapp .shell{min-height:100dvh}.max-miniapp .mobile-bar{padding-top:max(10px,env(safe-area-inset-top))}.max-miniapp .main{padding-bottom:max(88px,calc(24px + env(safe-area-inset-bottom)))}.max-miniapp .login-wrap{min-height:100dvh;padding-bottom:max(24px,env(safe-area-inset-bottom));padding-top:max(24px,env(safe-area-inset-top))}
