:root{--p:#6b38d1;--p2:#8d45f0;--ink:#241548;--muted:#756d83;--line:#e9e1f5;--bg:#f8f5ff;--ok:#17a65a;--bad:#c8465d;--yellow:#ffc928}
*{box-sizing:border-box}body.portal-page{margin:0;background:linear-gradient(180deg,#fbf9ff,#f4effd);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.portal-shell{width:min(1180px,calc(100% - 28px));margin:auto}.portal-top{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:900;font-size:21px}.portal-brand img{width:43px;height:43px;object-fit:contain}.portal-brand .y{color:#f1ad00}.portal-nav{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.portal-nav a,.portal-nav button{border:1px solid #dfd4f3;background:#fff;color:#422769;border-radius:12px;padding:9px 13px;font-weight:800;text-decoration:none;cursor:pointer}.portal-nav .primary{background:linear-gradient(135deg,var(--p2),var(--p));color:#fff;border-color:transparent}.auth-wrap{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:36px 0}.auth-card{width:min(100%,480px);background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 20px 55px rgba(77,45,126,.12)}.auth-card h1{margin:0 0 8px;font-size:32px;letter-spacing:-.04em}.auth-card>p{margin:0 0 22px;color:var(--muted);line-height:1.55}.field{display:grid;gap:7px;margin:13px 0}.field label{font-weight:800;font-size:13px}.field input,.field select,.field textarea{width:100%;border:1px solid #ded3f0;border-radius:13px;padding:12px 13px;font:inherit;outline:none;background:#fff}.field input:focus,.field textarea:focus,.field select:focus{border-color:#8a55e6;box-shadow:0 0 0 3px #8a55e61c}.portal-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:13px;padding:12px 17px;font-weight:900;cursor:pointer;text-decoration:none}.portal-btn.primary{background:linear-gradient(135deg,var(--p2),var(--p));color:#fff;box-shadow:0 12px 24px #6b38d12c}.portal-btn.ghost{background:#fff;color:#4b326e;border:1px solid #ded3f0}.portal-btn.full{width:100%}.form-status{min-height:20px;margin-top:12px;font-size:13px;color:#705f82}.code-step{border:1px dashed #d8c9ee;border-radius:16px;padding:13px;margin:12px 0;background:#faf8ff}.code-actions{display:flex;gap:8px;flex-wrap:wrap}.code-actions button{border:0;background:none;color:var(--p);font-weight:800;cursor:pointer}.portal-main{padding:24px 0 60px}.dash-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin:12px 0 22px}.dash-head h1{margin:0;font-size:38px;letter-spacing:-.04em}.dash-head p{margin:7px 0 0;color:var(--muted)}.impersonation-banner{padding:12px 14px;border-radius:14px;background:#fff3c6;border:1px solid #f3d66c;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:15px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;box-shadow:0 10px 30px rgba(73,44,115,.06)}.stat span{display:block;color:var(--muted);font-size:12px;font-weight:800}.stat b{display:block;margin-top:7px;font-size:25px}.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;margin-top:16px;box-shadow:0 12px 32px rgba(73,44,115,.06)}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:15px}.panel h2{margin:0;font-size:20px}.muted{color:var(--muted)}.table-wrap{overflow:auto}.portal-table{width:100%;border-collapse:collapse;min-width:700px}.portal-table th,.portal-table td{text-align:left;padding:11px 9px;border-bottom:1px solid #eee7f7;font-size:13px;vertical-align:top}.portal-table th{color:#77678a;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-flex;border-radius:999px;padding:4px 8px;background:#f1ebfb;color:#5e3a89;font-weight:800;font-size:11px}.badge.ok{background:#e8f8ef;color:#16824a}.badge.warn{background:#fff4d6;color:#8a5d00}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions button,.actions a{border:1px solid #ded4ec;background:#fff;color:#523575;border-radius:9px;padding:6px 8px;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer}.empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed #dfd5ed;border-radius:16px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.admin-tabs button{border:1px solid #e0d7ef;background:#faf8ff;border-radius:999px;padding:8px 13px;font-weight:850;color:#62467d;cursor:pointer}.admin-tabs button.active{background:#6b38d1;color:#fff;border-color:#6b38d1}.admin-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.admin-toolbar input,.admin-toolbar select{border:1px solid #ddd3ed;border-radius:10px;padding:9px 10px;font:inherit}.finance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.finance-card{background:#faf8ff;border-radius:16px;padding:14px}.finance-card span{font-size:11px;color:var(--muted);display:block}.finance-card b{font-size:19px;margin-top:6px;display:block}.chat-admin{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;min-height:480px}.thread-list{border-right:1px solid var(--line);padding-right:10px;overflow:auto}.thread-item{width:100%;text-align:left;border:0;background:#fff;border-bottom:1px solid #eee7f7;padding:12px;cursor:pointer}.thread-item.unread{background:#f6f0ff}.thread-item b,.thread-item small{display:block}.thread-item small{color:var(--muted);margin-top:4px}.admin-chat-body{display:flex;flex-direction:column}.messages{flex:1;min-height:330px;max-height:520px;overflow:auto;padding:8px}.msg{max-width:75%;padding:9px 11px;border-radius:14px;margin:7px 0;background:#f2edf9}.msg.admin{margin-left:auto;background:#6b38d1;color:#fff}.msg time{display:block;font-size:9px;opacity:.65;margin-top:5px}.reply-form{display:flex;gap:8px}.reply-form input{flex:1;border:1px solid #ddd3ed;border-radius:12px;padding:11px}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pricing-rows{display:grid;gap:7px}.pricing-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.portal-footer{padding:24px 0 35px;color:#7e738b;text-align:center;font-size:12px}.paywall-modal[hidden]{display:none}.paywall-modal{position:fixed;inset:0;z-index:10000}.paywall-backdrop{position:absolute;inset:0;background:#1d102f99;backdrop-filter:blur(5px)}.paywall-dialog{position:relative;width:min(440px,calc(100% - 24px));margin:8vh auto;background:#fff;border-radius:26px;padding:27px;box-shadow:0 30px 80px #1c0c3633;text-align:center}.paywall-close{position:absolute;right:13px;top:10px;border:0;background:none;font-size:26px;color:#7b6c89;cursor:pointer}.paywall-dialog h3{font-size:27px;margin:8px 0;letter-spacing:-.035em}.paywall-dialog p{color:#756b81;line-height:1.5}.paywall-icon{font-size:34px}.paywall-price{margin:16px 0;padding:14px;border-radius:17px;background:#f7f3ff}.paywall-price b{display:block;font-size:32px;color:#5f2bd0}.paywall-price span{font-size:12px;color:#766a83}.paywall-main{width:100%;margin-top:8px;min-height:48px}.paywall-dialog small{display:block;margin-top:12px;color:#8b8196;line-height:1.45}.modal-open{overflow:hidden}.font-landing-tool{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 18px 50px rgba(67,37,115,.09)}.font-tool-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.font-step{border:1px solid #e7def4;border-radius:19px;padding:16px;background:#fcfbff}.font-step b{display:block;margin-bottom:7px}.drop-file{border:2px dashed #cdbce7;border-radius:15px;padding:22px 12px;text-align:center;cursor:pointer}.font-preview{margin-top:16px;border-radius:18px;padding:18px;background:#fffdf7;border:1px solid #eee4d5;min-height:110px}.product-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.product-actions .portal-btn{flex:1;min-width:210px}.seo-content{max-width:900px;margin:30px auto 0}.seo-content h2{font-size:28px}.seo-content p,.seo-content li{color:#675d73;line-height:1.7}.demo-pay{width:min(500px,calc(100% - 24px));margin:12vh auto;background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;text-align:center;box-shadow:0 20px 60px #3119541a}
.google-login{display:grid;justify-items:center;gap:6px;margin:14px 0}.google-login[hidden]{display:none}.google-login .form-status{text-align:center}.auth-divider{display:flex;align-items:center;gap:12px;margin:17px 0;color:#8a8094;font-size:12px}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:#e7dff1;flex:1}.auth-divider[hidden]{display:none}.auth-consent{font-size:11px;color:#8a8094!important;line-height:1.45;margin:18px 0 0!important}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.finance-grid{grid-template-columns:repeat(2,1fr)}.chat-admin{grid-template-columns:1fr}.thread-list{border-right:0;border-bottom:1px solid var(--line);max-height:240px}.settings-grid,.font-tool-grid{grid-template-columns:1fr}.dash-head{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.portal-shell{width:calc(100% - 18px)}.portal-top{min-height:66px}.portal-brand{font-size:17px}.portal-brand img{width:36px;height:36px}.portal-nav a,.portal-nav button{padding:8px 10px;font-size:12px}.auth-card{padding:20px;border-radius:22px}.auth-card h1{font-size:27px}.dash-head h1{font-size:31px}.stats{grid-template-columns:1fr 1fr}.stat{padding:13px;border-radius:16px}.stat b{font-size:20px}.panel{padding:14px;border-radius:19px}.finance-grid{grid-template-columns:1fr 1fr}.paywall-dialog{padding:24px 17px}.product-actions{flex-direction:column}.product-actions .portal-btn{min-width:0}}
