:root{--navy:#002e5e;--navy-dark:#001e3f;--sky:#0096ce;--sky-light:#e8f2f9;--bg:#f8f9fa;--surface:#fff;--border:#e2e5ea;--border-strong:#cbd0d8;--ink:#1a1d21;--ink-soft:#565b64;--ink-muted:#8a8f98;--success:#009149;--success-light:#e0efe4;--danger:#a7172b;--danger-light:#fce8ea;--radius:6px;--radius-lg:10px;--shadow:0 1px 3px #00000014;--shadow-lg:0 4px 16px #0000001a}*{box-sizing:border-box}html,body{color:var(--ink);background:var(--bg);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}a{color:var(--sky);text-decoration:none}a:hover{color:var(--navy);text-decoration:underline}.app-header{background:var(--navy);color:#fff;border-bottom:1px solid var(--navy-dark)}.app-header__inner{align-items:center;gap:32px;max-width:1400px;margin:0 auto;padding:12px 24px;display:flex}.app-header__logo{color:#fff;letter-spacing:.02em;font-size:16px;font-weight:600}.app-header__logo span{opacity:.7;font-weight:400}.app-header__logo:hover{opacity:.9;text-decoration:none}.app-header__nav{gap:20px;margin-left:auto;display:flex}.app-header__nav a{color:#fff;opacity:.85;font-weight:500}.app-header__nav a:hover{opacity:1;text-decoration:none}.app-main{max-width:1400px;min-height:calc(100vh - 130px);margin:0 auto;padding:24px}.app-footer{text-align:center;color:var(--ink-muted);border-top:1px solid var(--border);background:var(--surface);padding:20px;font-size:13px}.app-footer p{margin:0}h1{margin:0 0 8px;font-size:28px;font-weight:600}h2{margin:24px 0 12px;font-size:20px;font-weight:600}h3{margin:16px 0 8px;font-size:16px;font-weight:600}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.page-header__lead{color:var(--ink-soft);max-width:600px;margin:0}.btn{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:8px 16px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover{background:var(--sky-light);border-color:var(--sky)}.btn--primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn--primary:hover{background:var(--navy-dark);border-color:var(--navy-dark);color:#fff}.btn--success{background:var(--success);border-color:var(--success);color:#fff}.btn--success:hover{color:#fff;background:#006c37;border-color:#006c37}.btn--danger{color:var(--danger);border-color:var(--danger-light)}.btn--danger:hover{background:var(--danger-light);border-color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.customer-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px;display:grid}.customer-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;color:inherit;padding:20px;transition:all .15s;display:block}.customer-card:hover{border-color:var(--sky);box-shadow:var(--shadow-lg);color:inherit;text-decoration:none}.customer-card__swatch{color:#fff;letter-spacing:-.02em;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:12px;font-size:20px;font-weight:700;display:flex}.customer-card__name{color:var(--ink);margin:0 0 4px;font-size:17px;font-weight:600}.customer-card__meta{color:var(--ink-muted);margin:0;font-size:13px}.customer-card__meta span+span:before{content:" · ";color:var(--border-strong)}.editor{grid-template-columns:1fr 1fr;gap:24px;min-height:calc(100vh - 250px);display:grid}.editor__form{flex-direction:column;gap:16px;display:flex}.editor__preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);height:calc(100vh - 200px);box-shadow:var(--shadow);flex-direction:column;align-self:flex-start;display:flex;position:sticky;top:20px;overflow:hidden}.editor__preview-header{border-bottom:1px solid var(--border);color:var(--ink-soft);justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;display:flex}.editor__preview iframe{background:#fff;border:0;flex:1;width:100%}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tab{color:var(--ink-soft);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-weight:500}.tab:hover{color:var(--ink)}.tab.is-active{color:var(--navy);border-bottom-color:var(--navy)}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--ink-soft);font-size:13px;font-weight:500}.form-input,.form-textarea,.form-select{border:1px solid var(--border-strong);border-radius:var(--radius);font:inherit;color:var(--ink);background:var(--surface);padding:8px 12px;transition:border-color .15s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px #0096ce26}.form-textarea{resize:vertical;min-height:80px;font-family:inherit}.form-hint{color:var(--ink-muted);font-size:12px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.color-input{align-items:center;gap:8px;display:flex}.color-input input[type=color]{border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;background:0 0;width:40px;height:32px;padding:2px}.pill{background:var(--sky-light);color:var(--navy);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.pill--success{background:var(--success-light);color:var(--success)}.pill--danger{background:var(--danger-light);color:var(--danger)}.pill--warning{color:#a67c00;background:#fff8e1}.toast{background:var(--ink);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;padding:12px 20px;animation:.2s slideUp;position:fixed;bottom:20px;right:20px}.toast--success{background:var(--success)}.toast--danger{background:var(--danger)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.editor{grid-template-columns:1fr}.editor__preview{height:500px;position:static}.form-row{grid-template-columns:1fr}}
