
:root{
  --bg:#14091d;
  --bg2:#241032;
  --panel:#251333;
  --panel2:#331845;
  --panel3:#3f1f55;
  --text:#fff7ff;
  --muted:#d9c0e9;
  --muted2:#a88bbd;
  --line:rgba(255,255,255,.12);
  --accent:#ff8fcb;
  --accent2:#caa6ff;
  --accent3:#ffd6ef;
  --gold:#f8d98b;
  --danger:#ff6b96;
  --ok:#85e6b4;
  --warn:#ffd47a;
  --info:#91c7ff;
  --shadow:0 26px 90px rgba(25,6,39,.42);
  --radius:24px;
  --sidebar:306px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 18% 0%,rgba(255,143,203,.28) 0,transparent 30%),radial-gradient(circle at 94% 4%,rgba(202,166,255,.26) 0,transparent 34%),linear-gradient(145deg,var(--bg),#0f0716 58%,#190a24);color:var(--text);min-height:100vh;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 74%);z-index:-1}
button,input,textarea,select{font:inherit}button{user-select:none}a{color:inherit}.hidden{display:none!important}.preline{white-space:pre-line}.nowrap{white-space:nowrap}.text-right{text-align:right}.small{font-size:12px}.center{text-align:center}.danger-text{color:var(--danger)}.ok-text{color:var(--ok)}
.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px;background:linear-gradient(180deg,rgba(35,16,48,.92),rgba(18,8,27,.9));backdrop-filter:blur(28px);border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:22px;z-index:10}.brand{display:flex;gap:14px;align-items:center}.brand-logo,.brand-mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#210d2f;display:grid;place-items:center;font-size:26px;font-weight:900;box-shadow:0 18px 42px rgba(255,143,203,.28)}.brand strong{display:block;font-size:17px}.brand small{display:block;color:var(--muted);margin-top:3px;font-size:12px}.nav{display:grid;gap:8px;overflow:auto;padding-right:4px}.nav button{border:0;background:transparent;color:var(--muted);text-align:left;padding:13px 14px;border-radius:16px;cursor:pointer;display:flex;align-items:center;gap:10px}.nav button:hover,.nav button.active{background:linear-gradient(135deg,rgba(255,143,203,.16),rgba(202,166,255,.12));color:var(--text)}.nav button:before{content:"✧";color:var(--accent);opacity:.8}.sidebar-footer{margin-top:auto;display:grid;gap:10px}.status-dot{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.status-dot:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--ok);box-shadow:0 0 0 5px rgba(133,230,180,.12)}
.main{padding:28px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.topbar h1{margin:0;font-size:36px;letter-spacing:-.045em;line-height:1.05}.eyebrow{color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.15em;margin:0 0 6px}.muted{color:var(--muted)}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.content{display:grid;gap:18px}.mobile-menu{display:none}.view-subtitle{margin:6px 0 0;color:var(--muted)}
.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.45}.card h2,.card h3{margin:0 0 12px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.section-head p{margin:4px 0 0}.metric{padding:18px;border-radius:22px;background:linear-gradient(135deg,rgba(255,143,203,.13),rgba(202,166,255,.09));border:1px solid rgba(255,255,255,.11);min-height:110px}.metric span{color:var(--muted);display:block;font-size:13px}.metric strong{font-size:28px;display:block;margin-top:8px;letter-spacing:-.035em}.metric small{color:var(--muted2)}.metric.danger{background:linear-gradient(135deg,rgba(255,107,150,.18),rgba(255,107,150,.06))}.metric.ok{background:linear-gradient(135deg,rgba(133,230,180,.16),rgba(133,230,180,.05))}
.btn{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--text);border-radius:15px;padding:11px 15px;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;transition:.18s ease;min-height:42px}.btn:hover{transform:translateY(-1px);border-color:rgba(255,143,203,.55);box-shadow:0 16px 28px rgba(24,7,35,.22)}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#22102e;border:0;font-weight:900}.btn.ghost{background:rgba(255,255,255,.045)}.btn.danger{border-color:rgba(255,107,150,.5);color:#ffd1df}.btn.ok{border-color:rgba(133,230,180,.5);color:#caffdf}.btn.small{padding:7px 10px;min-height:34px;border-radius:11px;font-size:12px}.btn.full{width:100%}.btn.icon{width:42px;padding:0}.actionbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}.actionbar .search{flex:1;min-width:220px}.search,.soft-input{border:1px solid rgba(255,255,255,.11);background:rgba(10,4,15,.48);color:var(--text);border-radius:15px;padding:12px 14px;outline:none}.search:focus,.soft-input:focus{border-color:var(--accent)}
.form{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.form label{display:grid;gap:7px;color:var(--muted);font-size:13px}.form .col-2{grid-column:span 2}.form .col-3{grid-column:span 3}.form .col-4{grid-column:span 4}.form .col-5{grid-column:span 5}.form .col-6{grid-column:span 6}.form .col-7{grid-column:span 7}.form .col-8{grid-column:span 8}.form .col-9{grid-column:span 9}.form .col-12{grid-column:span 12}.form input,.form select,.form textarea,.form-stack input,.form-stack select{width:100%;border:1px solid rgba(255,255,255,.11);background:rgba(12,5,18,.86);color:var(--text);border-radius:15px;padding:12px;outline:none}.form textarea{min-height:98px;resize:vertical}.form input:focus,.form select:focus,.form textarea:focus,.form-stack input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,143,203,.08)}.form-actions{grid-column:span 12;display:flex;gap:10px;flex-wrap:wrap}.hint{font-size:12px;color:var(--muted2)}
.table-wrap{overflow:auto;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:rgba(12,5,18,.24)}table{width:100%;border-collapse:collapse;min-width:860px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.075);vertical-align:top}th{color:#f7d9ff;font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.045);position:sticky;top:0;z-index:1}td{color:#fff4ff}.row-actions{display:flex;flex-wrap:wrap;gap:7px}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,143,203,.14);color:#ffd6ef;font-size:12px;font-weight:900}.pill.ok{background:rgba(133,230,180,.13);color:var(--ok)}.pill.warn{background:rgba(255,212,122,.13);color:var(--warn)}.pill.danger{background:rgba(255,107,150,.15);color:#ffc0d2}.pill.info{background:rgba(145,199,255,.14);color:#cfe6ff}.tag-list{display:flex;gap:6px;flex-wrap:wrap}.tag{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);padding:4px 8px;border-radius:999px;font-size:12px;color:var(--muted)}.empty{border:1px dashed rgba(255,255,255,.18);border-radius:20px;padding:22px;text-align:center;color:var(--muted);background:rgba(255,255,255,.035)}
.toast{position:fixed;right:20px;bottom:20px;background:#1c0d28;border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);transition:.2s;z-index:70;max-width:min(420px,calc(100vw - 30px))}.toast.show{opacity:1;transform:translateY(0)}
.modal-backdrop{position:fixed;inset:0;background:rgba(8,3,12,.68);backdrop-filter:blur(9px);z-index:60;display:none;align-items:center;justify-content:center;padding:20px}.modal-backdrop.show{display:flex}.modal{width:min(1040px,100%);max-height:92vh;overflow:auto;background:linear-gradient(180deg,#2a123a,#16091f);border:1px solid rgba(255,255,255,.13);border-radius:26px;box-shadow:0 38px 120px rgba(0,0,0,.5);padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.modal-head h2{margin:0}.drawer{position:fixed;right:0;top:0;height:100vh;width:min(560px,100%);background:linear-gradient(180deg,#2b143b,#14091d);border-left:1px solid rgba(255,255,255,.13);box-shadow:var(--shadow);z-index:65;transform:translateX(105%);transition:.22s ease;padding:22px;overflow:auto}.drawer.show{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.tab{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--muted);padding:9px 12px;border-radius:12px;cursor:pointer}.tab.active{background:linear-gradient(135deg,rgba(255,143,203,.22),rgba(202,166,255,.15));color:var(--text);border-color:rgba(255,143,203,.36)}
.login-body{display:grid;place-items:center;padding:22px}.login-card{width:min(460px,100%);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);border-radius:32px;padding:30px;box-shadow:var(--shadow)}.login-card h1{font-size:35px;margin:8px 0;letter-spacing:-.04em}.form-stack{display:grid;gap:14px;margin-top:22px}.form-stack label{display:grid;gap:7px;color:var(--muted)}.error{color:#ffc3d4;min-height:20px}.login-note{font-size:12px;color:var(--muted2);margin-top:12px}.password-wrap{position:relative}.password-wrap button{position:absolute;right:6px;top:6px;min-height:34px;padding:7px 10px}
.breakdown{display:grid;gap:10px}.breakdown-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed rgba(255,255,255,.14);padding-bottom:8px}.breakdown-row strong{color:#ffd6ef}.line-editor{grid-column:span 12;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:14px}.line-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.line-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-bottom:10px}.line-row select,.line-row input{border:1px solid rgba(255,255,255,.11);background:rgba(12,5,18,.86);color:var(--text);border-radius:14px;padding:12px;outline:none}.big-text{width:100%;min-height:160px;margin:10px 0;border:1px solid rgba(255,255,255,.1);background:rgba(12,5,18,.86);color:var(--text);border-radius:15px;padding:12px;outline:none}.quick-prompts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.ai-answer{white-space:pre-wrap;background:rgba(12,5,18,.78);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:16px;min-height:180px;color:#ffe1f4;overflow:auto}.kanban{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;overflow:auto}.kanban-col{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:12px}.kanban-col h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}.kanban-card{padding:12px;border-radius:15px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);margin-bottom:10px}.checklist{display:grid;gap:8px}.checklist label{display:flex;gap:8px;align-items:center;color:var(--text)}
.print-body{background:#fff5fb;color:#26122a}.public-body{min-height:100vh;background:radial-gradient(circle at top left,#ffe0f0 0,#fff5fb 38%,#f7edff 100%)}.quote-page{width:min(880px,calc(100% - 30px));margin:24px auto;background:rgba(255,255,255,.92);color:#26122a;border-radius:28px;padding:34px;box-shadow:0 30px 90px rgba(91,38,112,.18);border:1px solid rgba(172,105,194,.18)}.quote-header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #eed6f6;padding-bottom:20px;margin-bottom:22px}.quote-header h1{margin:0;font-size:32px}.brand-mark.print{box-shadow:none;color:#2b123c}.quote-box{border:1px solid #eed6f6;border-radius:22px;padding:18px;margin:16px 0;background:#fff}.quote-total{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#7b3fa3,#ff8fcb);color:#fff;border-radius:22px;padding:22px;margin:18px 0}.quote-total strong{font-size:32px;color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.print-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.public-hero{background:linear-gradient(135deg,rgba(255,143,203,.14),rgba(202,166,255,.18));border:1px solid #eed6f6;border-radius:22px;padding:20px;margin:16px 0}.public-form .form-actions{justify-content:flex-start}code{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.1);padding:4px 8px;border-radius:8px;color:#ffd6ef}
@media(max-width:1100px){.grid.cols-5,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.kanban{grid-template-columns:repeat(5,230px)}}
@media(max-width:960px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(var(--sidebar),88vw);height:100vh;transform:translateX(-105%);transition:.22s ease}.sidebar.show{transform:translateX(0)}.mobile-menu{display:inline-flex}.main{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.grid.cols-2,.grid.cols-3,.grid.cols-4,.grid.cols-5{grid-template-columns:1fr}.form .col-2,.form .col-3,.form .col-4,.form .col-5,.form .col-6,.form .col-7,.form .col-8,.form .col-9{grid-column:span 12}.top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.top-actions .btn{width:100%}.split{grid-template-columns:1fr}.quote-page{padding:22px}.quote-header{flex-direction:column}.modal{padding:16px}.line-row{grid-template-columns:1fr}.row-actions{display:grid}.row-actions .btn{width:100%}}
@media(max-width:720px){.metric strong{font-size:25px}.topbar h1{font-size:31px}.quote-total{align-items:flex-start;flex-direction:column}.table-wrap table{min-width:760px}.actionbar{display:grid}.search{width:100%}.btn{width:auto}.form-actions .btn{width:100%}.nav{padding-bottom:30px}}
@media print{body{background:white}.print-actions,.public-form,.no-print{display:none!important}.quote-page{box-shadow:none;margin:0;width:100%;border-radius:0;border:0}.quote-box{break-inside:avoid}.quote-total{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
