:root{color-scheme:light;--bg: #f5f7fb;--surface: rgba(255, 255, 255, .9);--surface-strong: #ffffff;--border: rgba(33, 53, 85, .11);--text: #14213d;--muted: #61728a;--accent: #0d8b78;--accent-strong: #ff7a59;--accent-deep: #0b5c8a;--accent-soft: rgba(13, 139, 120, .14);--accent-warm-soft: rgba(255, 122, 89, .16);--shadow: 0 24px 60px rgba(40, 59, 92, .12);font-family:Segoe UI,Tahoma,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,rgba(13,139,120,.24),transparent 24%),radial-gradient(circle at top right,rgba(255,122,89,.2),transparent 26%),radial-gradient(circle at bottom left,rgba(11,92,138,.18),transparent 20%),linear-gradient(180deg,#fffaf5 0%,#f3f8ff 48%,var(--bg) 100%);color:var(--text)}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:grid;grid-template-columns:290px minmax(0,1fr)}.sidebar{position:sticky;top:0;align-self:start;min-height:100vh;padding:24px 20px;border-right:1px solid var(--border);background:linear-gradient(180deg,#ffffffc2,#f9fcffd1),radial-gradient(circle at top left,rgba(255,122,89,.12),transparent 34%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-block,.page-card,.login-card{border:1px solid var(--border);background:var(--surface);border-radius:24px;box-shadow:var(--shadow)}.brand-block{padding:20px 18px 18px;margin-bottom:20px;background:linear-gradient(180deg,#ffffffeb,#fff8f1d9)}.brand-block h2,.page-card h1,.login-card h1{margin:0}.brand-block h2{font-size:2rem;line-height:1.05}.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.75rem}.nav-list{display:grid;gap:8px}.nav-link{display:block;padding:13px 15px;border-radius:16px;color:var(--muted);transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.nav-link.active,.nav-link:hover{background:linear-gradient(135deg,#0d8b7829,#ff7a592e);color:var(--accent-deep);box-shadow:0 10px 26px #224e7614;transform:translate(2px)}.user-badge,.role-badge{margin-top:8px}.content{min-width:0;padding:28px clamp(18px,3vw,34px) 48px}.page-card{width:100%;max-width:none;padding:28px;overflow:hidden}.catalog-page{display:grid;gap:20px;width:min(100%,1220px);margin:0 auto}.muted{color:var(--muted)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);padding:28px}.login-form{display:grid;gap:14px;margin-top:20px}.login-form label{display:grid;gap:6px;font-size:.95rem}.login-form input{border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:var(--surface-strong)}.login-form button{margin-top:8px;border:0;border-radius:14px;padding:13px 16px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;font-weight:600;cursor:pointer;box-shadow:0 14px 28px #0d8b783d}.login-form button:disabled{opacity:.72;cursor:progress}.secondary-button{border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:linear-gradient(180deg,#fffffffa,#f6fafff5);color:var(--text);cursor:pointer}.sidebar-action{width:100%;margin-top:18px}.form-error{margin:0;color:#b42318}.stack-form{display:grid;gap:14px}.stack-form label,.stack-form fieldset{display:grid;gap:6px}.input-note{display:grid;gap:6px;align-content:start;padding:12px 14px;border:1px dashed var(--border);border-radius:14px;background:linear-gradient(180deg,#ffffffc7,#f6faffb3)}.input-note p{margin:0}.stack-form input,.stack-form select,.stack-form textarea{border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:var(--surface-strong);font:inherit}.stack-form button{width:fit-content;border:0;border-radius:14px;padding:13px 16px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;font-weight:600;cursor:pointer;box-shadow:0 14px 28px #0d8b783d}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;align-items:stretch}.checkbox-group{border:1px solid var(--border);border-radius:18px;padding:16px;display:grid;gap:12px;background:linear-gradient(180deg,#ffffffe6,#f2f9ffb3)}.checkbox-group legend{padding:0 8px;color:var(--accent-deep);font-weight:700}.checkbox-row{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;min-width:0}.checkbox-row input{margin:2px 0 0;width:16px;height:16px;accent-color:var(--accent-strong)}.checkbox-row span{min-width:0;overflow-wrap:anywhere}.checkbox-panel{align-content:center;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#fffffffa,#fff7f1eb)}.entity-list{display:grid;gap:14px}.entity-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto);align-items:start;gap:18px;padding:18px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#ffffffdb,#fafcffdb);min-width:0}.entity-card--interactive{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.entity-card--interactive:hover,.entity-card--interactive:focus-within{transform:translateY(-1px);border-color:#0d8b7847;box-shadow:0 16px 36px #283b5c1f}.entity-card--editing{border-color:#ff7a5957;box-shadow:0 18px 40px #ff7a591f}.entity-card h3{margin:0 0 6px;overflow-wrap:anywhere}.balance-kpi,.balance-chip{margin:0;font-weight:700;font-size:1.2rem;color:var(--accent-deep)}.log-meta{min-width:0;max-width:240px;text-align:right;justify-self:end}.entity-card p,.page-card p,.page-card h1,.page-card h2,.page-card h3{overflow-wrap:anywhere}.nested-card{max-width:none;box-shadow:none}.expense-row-header,.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.helper-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:static;min-height:auto;border-right:0;border-bottom:1px solid var(--border)}.form-grid,.helper-grid,.entity-card{grid-template-columns:1fr}.log-meta{justify-self:start;text-align:left;max-width:none}}@media(max-width:720px){.content{padding-inline:14px}.page-card,.login-card,.brand-block{border-radius:20px;padding:22px}.brand-block h2{font-size:1.7rem}}
