:root{--navy: #0a4d7a;--navy-hover: #0c5a90;--coral: #e2956a;--coral-hover: #d5834f;--ink: #16232e;--muted: #5b6b78;--bg: #eaeff4;--surface: #ffffff;--surface-alt: #f3f6f9;--line: #dde5ec;--line-strong: #c4d0da;--danger: #c2453f;--success: #1f8a5b;--bar: #0a3350;--bar-fg: #eaf2f8;--bar-fg-muted: #9db6c8;--bar-line: rgba(255, 255, 255, .14);--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-full: 999px;--t-xs: .78rem;--t-sm: .88rem;--t-base: 1rem;--t-lg: 1.15rem;--t-xl: 1.5rem;--sh-sm: 0 1px 2px rgba(16, 35, 46, .06);--sh-md: 0 8px 30px rgba(10, 51, 80, .1);--ease: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--t-base);line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--navy);text-decoration:none}h1{font-size:var(--t-xl);margin:0;letter-spacing:-.01em}input,textarea,select,button{font:inherit}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100%}.sidebar{background:linear-gradient(180deg,var(--bar) 0%,#082a41 100%);color:var(--bar-fg);padding:var(--sp-4) var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1)}.sidebar .brand{font-weight:700;font-size:var(--t-lg);letter-spacing:.01em;padding:var(--sp-2) var(--sp-3) var(--sp-5);color:#fff}.sidebar .brand b{color:var(--coral)}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar a{color:var(--bar-fg-muted);padding:.6rem .75rem;border-radius:var(--r-md);font-size:var(--t-sm);font-weight:500;transition:all .15s var(--ease)}.sidebar a:hover{background:#ffffff0f;color:var(--bar-fg)}.sidebar a.active{background:#ffffff24;color:#fff}.sidebar .leads-link{margin-top:var(--sp-3);border-top:1px solid var(--bar-line);padding-top:var(--sp-4);border-radius:0 0 var(--r-md) var(--r-md)}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;justify-content:flex-end;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-6);background:var(--surface);border-bottom:1px solid var(--line)}.topbar .who{color:var(--muted);font-size:var(--t-sm)}.content{padding:var(--sp-6);max-width:60rem;width:100%;margin-inline:auto;overflow:auto}.btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--navy);color:#fff;border:0;border-radius:var(--r-md);padding:.6rem 1.2rem;font-weight:600;font-size:var(--t-sm);cursor:pointer;transition:background .15s var(--ease)}.btn:hover:not(:disabled){background:var(--navy-hover)}.btn:disabled{opacity:.55;cursor:default}.ghost{background:transparent;border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--r-md);padding:.55rem 1rem;font-size:var(--t-sm);cursor:pointer;transition:border-color .15s var(--ease)}.ghost:hover{border-color:var(--muted)}.ghost.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.ghost.danger:hover{border-color:var(--danger)}.linkbtn{background:none;border:0;color:var(--navy);font-size:var(--t-sm);cursor:pointer;padding:0}.linkbtn:hover{text-decoration:underline}.list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-5)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm)}th,td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-alt)}th{background:var(--surface-alt);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}td.right{text-align:right}td.comment{max-width:260px;white-space:pre-wrap;color:var(--muted);font-size:var(--t-sm)}.pill{display:inline-block;padding:.15rem .6rem;border-radius:var(--r-full);font-size:var(--t-xs);font-weight:600}.pill.on{background:color-mix(in srgb,var(--success) 15%,#fff);color:var(--success)}.pill.off{background:var(--surface-alt);color:var(--muted)}.form{display:grid;gap:var(--sp-5);max-width:44rem}.field{display:flex;flex-direction:column;gap:.35rem}.field .lbl{font-weight:600;font-size:var(--t-sm);color:var(--ink)}.field .req{color:var(--coral);margin-left:2px}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=number],.field textarea,.field select{padding:.6rem .75rem;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink);outline:none;transition:border-color .15s var(--ease)}.field input[type=text]:focus,.field input[type=email]:focus,.field input[type=password]:focus,.field input[type=number]:focus,.field textarea:focus,.field select:focus{border-color:var(--navy);box-shadow:0 0 0 3px color-mix(in srgb,var(--navy) 12%,transparent)}.field textarea{resize:vertical;line-height:1.5}.field .help{color:var(--muted);font-size:var(--t-xs)}.field.field-bool{flex-direction:row;align-items:center;gap:.55rem}.field.field-bool input{width:1.15rem;height:1.15rem;accent-color:var(--navy)}.group{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-alt);padding:var(--sp-4);display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.repeater{display:grid;gap:var(--sp-3)}.repeater-item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-alt);padding:var(--sp-4);position:relative;display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.repeater-rm{position:absolute;top:.5rem;right:.5rem;width:1.7rem;height:1.7rem;border:1px solid var(--line-strong);border-radius:var(--r-full);background:var(--surface);color:var(--muted);cursor:pointer;line-height:1}.repeater-rm:hover{color:var(--danger);border-color:var(--danger)}.repeater-add{justify-self:start;background:transparent;border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:.5rem 1rem;color:var(--navy);font-size:var(--t-sm);font-weight:600;cursor:pointer}.repeater-add:hover{border-color:var(--navy)}.actions{display:flex;gap:var(--sp-3);align-items:center;margin-top:var(--sp-4)}.error{color:var(--danger);font-size:var(--t-sm)}.ok{color:var(--success);font-weight:600;font-size:var(--t-sm)}.note{margin:0;padding:var(--sp-3) var(--sp-4);font-size:var(--t-sm);color:var(--muted);background:var(--surface-alt);border-radius:var(--r-md);border:1px solid var(--line)}.photos{display:flex;flex-direction:column;gap:var(--sp-2)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:var(--sp-3)}.photo{position:relative;aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;background:var(--surface-alt);border:1px solid var(--line)}.photo img{width:100%;height:100%;object-fit:cover;display:block}.photo .cover{position:absolute;top:.3rem;left:.3rem;padding:.1rem .5rem;font-size:var(--t-xs);border-radius:var(--r-full);background:var(--coral);color:#fff;text-transform:uppercase;letter-spacing:.03em}.photo .rm{position:absolute;top:.3rem;right:.3rem;width:1.6rem;height:1.6rem;border:none;border-radius:var(--r-full);background:#0000008c;color:#fff;cursor:pointer;line-height:1}.photo .rm:hover{background:var(--danger)}.photo-add{display:grid;place-items:center;aspect-ratio:1;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--muted);font-weight:600;font-size:var(--t-sm);cursor:pointer}.photo-add:hover:not(:disabled){border-color:var(--navy);color:var(--navy)}.photo-add:disabled{opacity:.6;cursor:default}.login{display:grid;place-items:center;min-height:100%;padding:var(--sp-4);background:linear-gradient(135deg,#0a3350,#0a4d7a)}.login .card{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-6);width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--sp-4);box-shadow:var(--sh-md)}.login .card h1{font-size:var(--t-lg)}.login .card label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:var(--t-sm)}.login .card input{padding:.65rem .75rem;border:1px solid var(--line-strong);border-radius:var(--r-md);outline:none}.login .card input:focus{border-color:var(--navy)}
