*{box-sizing:border-box}:root{--bg: #f2f4fb;--surface: #ffffff;--border: #e4e7f2;--text: #101528;--text-soft: #5b6478;--primary: #4f46e5;--primary-2: #7c3aed;--primary-grad: linear-gradient(135deg, #4f46e5, #7c3aed);--danger: #dc2626;--ok: #059669;--warn: #b45309;--radius: 16px;--radius-s: 11px;--shadow: 0 1px 2px rgba(16, 21, 40, .05), 0 8px 24px rgba(16, 21, 40, .07);--shadow-lift: 0 2px 4px rgba(16, 21, 40, .06), 0 12px 32px rgba(79, 70, 229, .16)}html{-webkit-text-size-adjust:100%}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;margin:0;background:radial-gradient(1100px 500px at 85% -10%,rgba(124,58,237,.09),transparent 60%),radial-gradient(900px 420px at -10% 0%,rgba(79,70,229,.08),transparent 55%),var(--bg);color:var(--text);min-height:100vh}.topbar{background:linear-gradient(120deg,#171b34,#232a58 55%,#3b2a6d);color:#fff;padding-top:env(safe-area-inset-top)}.topbar-inner{max-width:680px;margin:0 auto;padding:1rem 1.15rem .9rem;display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}.brand{font-size:1.25rem;font-weight:800;letter-spacing:.14em;background:linear-gradient(90deg,#c7d2fe,#e9d5ff);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-sub{font-size:.82rem;color:#ffffff9e;font-weight:500}.mainnav{position:sticky;top:0;z-index:30;display:flex;justify-content:center;gap:.35rem;padding:.55rem .75rem;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.mainnav a{display:flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border-radius:999px;color:var(--text-soft);text-decoration:none;font-weight:600;font-size:.92rem;transition:background .15s,color .15s}.mainnav a svg{width:19px;height:19px}.mainnav a:hover{background:#eef0fa;color:var(--text)}.mainnav a.active{background:var(--primary-grad);color:#fff;box-shadow:var(--shadow-lift)}main{max-width:680px;margin:0 auto;padding:1.15rem 1rem 3rem}.login-shell{display:grid;min-height:82vh;align-content:center;max-width:430px}.login-card{text-align:center;padding:2rem 1.6rem 1.7rem}.login-card form{text-align:left}.login-brand{margin:0;font-size:2.6rem;font-weight:800;letter-spacing:.02em;background:var(--primary-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.login-sub{margin:.15rem 0 1.2rem;color:var(--text-soft);font-weight:500}.login-card button[type=submit]{width:100%;margin-top:.9rem}section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.15rem 1.2rem;margin:1rem 0}section.hero{position:relative;overflow:hidden}section.hero:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4f46e5,#a855f7,#ec4899)}h1{margin:0 0 .8rem;letter-spacing:.1em}h2{margin:0 0 .55rem;font-size:1.12rem}h3{margin:.2rem 0 .5rem;font-size:1rem}h3.category-head{margin:1.35rem 0 .3rem;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-soft)}label{display:block;margin:.65rem 0;font-weight:600;font-size:.92rem;color:var(--text)}label>input,label>select,label>textarea,label>.search-row{margin-top:.3rem;font-weight:400}input,textarea,select{width:100%;padding:.7rem .85rem;border:1.5px solid #d6dae8;border-radius:var(--radius-s);font-size:1rem;font-family:inherit;background:#fbfbfe;color:var(--text);transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3.5px #4f46e529;background:#fff}textarea{resize:vertical;line-height:1.5}button{padding:.72rem 1.3rem;border:0;border-radius:var(--radius-s);background:var(--primary-grad);color:#fff;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;margin-top:.6rem;box-shadow:0 2px 8px #4f46e547;transition:transform .12s,box-shadow .12s,filter .12s}button:hover{filter:brightness(1.06);box-shadow:var(--shadow-lift)}button:active{transform:translateY(1px)}button:disabled{filter:grayscale(.4) opacity(.7);cursor:default;box-shadow:none}button.secondary{background:#475569;box-shadow:0 2px 6px #0f172a2e}button.ghost{background:transparent;color:var(--text-soft);border:1.5px solid var(--border);box-shadow:none}button.ghost:hover{background:#f3f4fa;color:var(--danger);border-color:#f1c5c5}button.small{padding:.4rem .75rem;font-size:.85rem;margin-top:0;border-radius:9px}.input-stack{position:relative}.input-stack textarea{padding-right:3.6rem;min-height:96px}.mic{position:absolute;right:.6rem;bottom:.6rem;width:44px;height:44px;padding:0;margin:0;border-radius:50%;display:grid;place-items:center;background:var(--primary-grad)}.mic svg{width:21px;height:21px}.mic.recording{background:linear-gradient(135deg,#dc2626,#ef4444);animation:mic-pulse 1.4s ease-out infinite}@keyframes mic-pulse{0%{box-shadow:0 0 #dc262673}70%{box-shadow:0 0 0 14px #dc262600}to{box-shadow:0 0 #dc262600}}.listening-hint{color:var(--danger);font-weight:600;font-size:.9rem;margin:.5rem 0 0;animation:blink 1.4s ease-in-out infinite}@keyframes blink{50%{opacity:.45}}ul.tasks{list-style:none;padding:0;margin:1.1rem 0}ul.tasks li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem 1rem;margin:.6rem 0;transition:transform .12s,box-shadow .12s}ul.tasks li:hover{transform:translateY(-1px);box-shadow:var(--shadow-lift)}ul.tasks a{text-decoration:none;color:inherit;display:block}.task-text{font-weight:600;line-height:1.4}.task-row{display:flex;align-items:flex-start;gap:.6rem}.task-row .task-link{flex:1;min-width:0}.status{display:inline-block;font-size:.78rem;font-weight:700;margin-top:.45rem;padding:.22rem .65rem;border-radius:999px;background:#eef0fa;color:#4b5563}.status-confirmed,.status-answered,.status-delivered,.status-completed{background:#d9f5ea;color:var(--ok)}.status-brief_ready,.status-needs_info,.status-unclear{background:#fef0d8;color:var(--warn)}.status-calling,.status-parsing,.status-call_done{background:#e2e7ff;color:var(--primary);animation:blink 1.4s ease-in-out infinite}.status-declined,.status-rejected,.status-no_answer{background:#fde4e4;color:var(--danger)}.result-line{font-size:.92rem;font-weight:600;margin-top:.45rem}.result-summary{font-size:.87rem;color:var(--text-soft);margin-top:.2rem;line-height:1.45}.empty-hint{text-align:center;color:var(--text-soft);margin:2.2rem 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.95rem 1.05rem;margin:.6rem 0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.card-actions{display:flex;gap:.4rem}.muted{color:var(--text-soft);font-size:.9rem}.error{color:var(--danger);font-weight:600}pre{white-space:pre-wrap;font-size:.88rem;line-height:1.5;background:#f7f8fc;border-radius:var(--radius-s);padding:.8rem}hr{border:0;border-top:1px solid var(--border);margin:1.1rem 0}.search-row{display:flex;gap:.5rem;align-items:flex-start}.search-row input{flex:1}.search-row button{margin-top:0;white-space:nowrap}.scan-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:.4rem}.scan-row button{margin-top:0}.photo-preview{display:flex;align-items:center;gap:.7rem;margin:.6rem 0}.photo-preview img{max-width:180px;max-height:120px;border-radius:10px;border:1px solid var(--border);box-shadow:var(--shadow)}.contact-ident{display:flex;align-items:center;gap:.6rem;min-width:0}.contact-photo{width:44px;height:44px;border-radius:10px;object-fit:cover;border:1px solid var(--border);flex-shrink:0}.contact-tasks{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.task-chip{font-size:.8rem;font-weight:600;background:#eceefc;color:var(--primary);padding:.28rem .7rem;border-radius:999px;text-decoration:none}.task-chip:hover{background:#dfe3fb}@media (max-width: 640px){.topbar-inner{padding:.85rem 1rem .7rem}.brand-sub{display:none}main{padding:.9rem .85rem calc(4.9rem + env(safe-area-inset-bottom))}section{padding:1rem .95rem}.mainnav{position:fixed;top:auto;bottom:0;left:0;right:0;justify-content:space-around;gap:0;padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom));background:#ffffffed;border-top:1px solid var(--border);border-bottom:0;box-shadow:0 -6px 24px #10152814}.mainnav a{flex-direction:column;gap:.15rem;flex:1;padding:.35rem .2rem;font-size:.72rem;border-radius:12px}.mainnav a svg{width:22px;height:22px}.mainnav a.active{background:transparent;color:var(--primary);box-shadow:none}button{width:100%}button.small,.search-row button,.mic{width:auto}.mic{width:44px}.card-actions button{width:auto}}
