:root{--primary:#7F6CFF;--accent:#E0EF4C;--ink:#11131a;--muted:#667085;--line:#E5E7EF;--soft:#FAFBFD;--paper:#fff;--dark:#171923;--danger:#b42318;--ok:#067647}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#FAFBFD;color:var(--ink);font-size:14px}.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:24px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark{width:42px;height:42px;border-radius:14px;background:#11131a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.brand strong{display:block;font-size:16px}.brand span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.sidebar nav{display:grid;gap:8px}.sidebar nav a,.logout{display:block;text-decoration:none;color:#222;padding:11px 12px;border-radius:12px;font-weight:700}.sidebar nav a:hover{background:#f2f1ff;color:#3523c9}.logout{position:absolute;bottom:24px;left:24px;right:24px;color:#777;border:1px solid var(--line);text-align:center}.main{padding:28px;max-width:1280px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-weight:900;margin:0 0 6px}.page-head h1{margin:0;font-size:28px;letter-spacing:-.04em}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(17,19,26,.04)}.card h3{margin:0 0 8px;font-size:16px}.card p{margin:0;color:var(--muted);line-height:1.5}.big-link{text-decoration:none;color:inherit}.big-link:hover .card{border-color:rgba(127,108,255,.45);box-shadow:0 14px 34px rgba(127,108,255,.12)}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.stat .num{font-size:28px;font-weight:900;letter-spacing:-.04em}.stat .label{font-size:12px;color:var(--muted);font-weight:800}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.input,select,textarea{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;font:inherit;outline:none}.input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(127,108,255,.10)}.btn{border:1px solid var(--line);background:#fff;color:#111;border-radius:12px;padding:10px 13px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;gap:7px;align-items:center}.btn:hover{border-color:var(--primary)}.btn.primary{background:#11131a;color:#fff;border-color:#11131a}.btn.accent{background:var(--accent);border-color:var(--accent);color:#111}.btn.danger{color:var(--danger)}.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.table th{background:#171923;color:#fff;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:12px}.table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.table tr:last-child td{border-bottom:0}.badge{display:inline-flex;border-radius:999px;padding:5px 8px;background:#F2F4F7;font-size:12px;font-weight:800;color:#344054}.badge.ok{background:#ECFDF3;color:#067647}.badge.warn{background:#FFFAEB;color:#B54708}.split{display:grid;grid-template-columns:420px 1fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.panel h2{font-size:18px;margin:0 0 14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px;margin-bottom:12px}.field label{font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.04em}.full{grid-column:1/-1}.positions{display:grid;gap:10px}.position{border:1px solid var(--line);border-radius:14px;padding:12px;background:#FAFBFD}.position-head{display:grid;grid-template-columns:1fr 70px 120px auto;gap:8px;align-items:center}.rich{min-height:95px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff;line-height:1.55;outline:none}.rich:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(127,108,255,.10)}.notice{background:#fbffe3;border:1px solid #edf7a6;border-radius:14px;padding:12px;color:#333;line-height:1.5}.muted{color:var(--muted)}.savebar{position:sticky;bottom:0;background:rgba(250,251,253,.92);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:12px;margin:18px -28px -28px;display:flex;justify-content:flex-end;gap:10px}.doc-sheet{background:#fff;color:#111;max-width:820px;margin:0 auto;border:1px solid #dfe3ec;border-radius:6px;padding:42px 46px;font-size:12px;line-height:1.5}.doc-top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #11131a;padding-bottom:16px;margin-bottom:28px}.doc-company{font-size:16px;font-weight:900;letter-spacing:-.02em}.doc-sub{font-size:11px;color:#555;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.doc-addr{font-size:10px;color:#777;margin-top:4px}.doc-logo{max-width:150px;max-height:70px;object-fit:contain}.doc-grid{display:grid;grid-template-columns:1fr 260px;gap:24px;margin-bottom:24px}.sender-line{font-size:9px;color:#777;border-bottom:1px solid #ddd;margin-bottom:8px;padding-bottom:3px}.meta{background:#F7F8FB;border:1px solid #EAECF0;border-radius:8px;padding:11px}.meta div{display:flex;justify-content:space-between;gap:12px;padding:3px 0}.meta span{color:#666;font-size:10px;text-transform:uppercase;font-weight:800}.doc-title{font-size:24px;margin:0 0 12px;color:#11131a}.salutation{margin:0 0 18px}.pos-table{width:100%;border-collapse:collapse;margin-bottom:14px}.pos-table th{background:#11131a;color:#fff;text-align:left;padding:8px;font-size:10px;text-transform:uppercase}.pos-table th:not(:first-child),.pos-table td.num{text-align:right}.pos-table td{border-bottom:1px solid #E5E7EF;padding:8px;vertical-align:top}.desc-html{margin-top:3px;color:#333}.sum-table{margin-left:auto;width:330px;border-collapse:collapse}.sum-table td{padding:6px 8px;border-bottom:1px solid #E5E7EF}.sum-table td:last-child{text-align:right}.sum-table .gross td{background:#11131a;color:#fff;font-weight:900;border-bottom:0;padding:10px 8px}.business-note,.notes-render{border-left:3px solid #11131a;background:#FAFBFD;padding:12px 14px;margin:18px 0;line-height:1.6}.closing{margin-top:26px}.signature-name{font-weight:900}.doc-footer{border-top:2px solid #11131a;margin-top:26px;padding-top:8px;font-size:9px;color:#666;display:grid;gap:2px}.customer-page{max-width:980px;margin:24px auto;padding:0 16px}.customer-actions{max-width:820px;margin:16px auto;display:flex;gap:10px;justify-content:flex-end}.accept-box{max-width:820px;margin:16px auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.accept-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 20px 60px rgba(17,19,26,.08)}.login-card h1{margin:0 0 8px;font-size:26px}.login-card p{color:var(--muted);line-height:1.5}.error{background:#fff1f3;border:1px solid #ffd0d5;color:#b42318;border-radius:12px;padding:10px;margin:10px 0}.success{background:#ecfdf3;border:1px solid #abefc6;color:#067647;border-radius:12px;padding:10px;margin:10px 0}@media print{body{background:#fff}.sidebar,.page-head,.toolbar,.savebar,.customer-actions,.accept-box,.no-print{display:none!important}.app{display:block}.main{padding:0;max-width:none}.doc-sheet{border:0;padding:0;max-width:none}.doc-top,.pos-table th,.sum-table .gross td{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pos-table thead{display:table-header-group}.pos-table tr{break-inside:avoid;page-break-inside:avoid}.business-note,.notes-render,.closing,.sum-table{break-inside:avoid;page-break-inside:avoid}@page{size:A4;margin:14mm}}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.logout{position:static;margin-top:20px}.cards,.stats,.split{grid-template-columns:1fr}.doc-grid,.accept-grid{grid-template-columns:1fr}.main{padding:18px}.savebar{margin:18px -18px -18px}.position-head{grid-template-columns:1fr}}

.linkbox{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.attachments,.attachments-admin{border:1px solid #E5E7EF;background:#FAFBFD;border-radius:12px;padding:12px;margin:16px 0}.attachments h3,.attachments-admin h3{margin:0 0 8px;font-size:14px}.attachments ul{margin:0;padding-left:18px}.attachments a{color:#11131a;font-weight:700}.attachment-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #E5E7EF;padding:8px 0;font-size:13px}.attachment-row:first-of-type{border-top:0}.signature-pad{width:100%;height:180px;border:1px solid #D0D5DD;border-radius:12px;background:#fff;touch-action:none}.signature-preview{max-width:340px;border:1px solid #E5E7EF;border-radius:12px;background:#fff;margin-top:10px}.desc-html table,.notes-render table{width:100%;border-collapse:collapse;margin:8px 0}.desc-html td,.desc-html th,.notes-render td,.notes-render th{border:1px solid #E5E7EF;padding:6px}
@media print{.attachments{border:0;background:transparent;padding:0}.signature-preview{max-width:260px}}

.preview-actions{justify-content:flex-start;margin-bottom:14px}.preview-actions form{margin:0}
@media print{.preview-actions,.notice.no-print{display:none!important}}
.customer-suggest-wrap{position:relative}.suggestions{display:none;position:absolute;z-index:30;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(17,19,26,.12);overflow:hidden;margin-top:4px}.suggestion-item{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:10px 12px;cursor:pointer}.suggestion-item:hover{background:#f7f6ff}.suggestion-item strong{display:block}.suggestion-item span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.settings-preview-img{display:block;max-width:180px;max-height:80px;object-fit:contain;border:1px solid var(--line);border-radius:12px;padding:8px;margin-top:8px;background:#fff}.settings-preview-icon{display:block;width:42px;height:42px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:6px;margin-top:8px;background:#fff}
.brand-logo{width:48px;max-height:48px;object-fit:contain;border-radius:10px;background:#fff}.preview-actions .btn.primary{background:#11131a;color:#fff;border-color:#11131a}
