/* v0.4: account and file-list surfaces; parsing and table rules are untouched. */
[hidden]{display:none!important}
.topbar .btn.small{min-height:29px}
button.preview-tag{cursor:pointer;margin-right:5px;font-size:10px;line-height:1.5;font-family:inherit}
button.preview-tag:hover{border-color:var(--accent);color:var(--accent)}
.wx-login svg,.wx-mark svg{color:#58d394}
.wx-login{background:#16241c;border-color:#294c3a}
.wx-login:hover:not(:disabled){background:#203326;border-color:#3e6b51}
.account-menu{position:relative}
.account-menu summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;font-size:11px;padding:4px 7px;border:1px solid var(--line);border-radius:5px}
.account-menu summary::-webkit-details-marker{display:none}
.account-avatar{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:10px}
.account-menu-body{position:absolute;right:0;top:37px;width:224px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:6px;z-index:25;box-shadow:0 12px 26px #0008}
.account-menu-body p{padding:5px 6px 9px;color:var(--muted);font-size:10px;line-height:1.7;border-bottom:1px solid var(--line-soft);margin-bottom:5px}
.account-menu-body button{display:block;text-align:left;font-size:11px;width:100%;padding:8px;border-radius:4px}
.account-menu-body button:hover{background:var(--panel2)}
.account-menu-status{display:flex;align-items:center;min-height:32px;width:100%;padding:8px;color:var(--muted);font-size:11px;line-height:1.4}
.auth-checking{font-size:10px;color:var(--muted);white-space:nowrap}
.auth-dialog{width:min(430px,calc(100vw - 28px))}
.auth-form{display:flex;flex-direction:column;gap:14px;padding:4px 0 8px}
.auth-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px}
.auth-field input{border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--text);padding:10px 11px;font-size:13px}
.auth-field input:focus{border-color:var(--accent)}
.auth-field small{font-size:10px;line-height:1.5;color:var(--dim)}
.auth-stage-note{font-size:10px;color:var(--dim);line-height:1.8;background:var(--panel);border:1px solid var(--line-soft);border-radius:5px;padding:9px 10px}
.auth-home .auth-home-login{margin-top:24px;min-width:130px}
.auth-home-note{font-size:10px;color:var(--dim);line-height:1.8;margin-top:16px}
.auth-home .inline-error{margin-top:12px}
.wechat-auth-panel{padding-top:2px}
.wechat-qr-frame{width:220px;height:220px;margin:0 auto 14px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:#667085;overflow:hidden}
.wechat-qr-frame img{width:100%;height:100%;object-fit:contain;display:block}
.wechat-qr-frame span{padding:18px;text-align:center;font-size:11px;line-height:1.7}
.wechat-auth-actions{display:flex;justify-content:center;gap:8px;margin-top:13px;flex-wrap:wrap}
.auth-switch{align-self:center;margin-top:-2px}
.status-pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:4px;padding:3px 7px;font-size:10px;border:1px solid var(--line);line-height:1.4}
.status-pill.neutral{color:#a6b0bf;background:#1b2029}
.status-pill.local{color:#a8b5c7;background:#1c2531;border-color:#344152}
.status-pill.pending{color:#73c9ed;background:#102834;border-color:#225266}
.status-pill.saved{color:#85d3b0;background:#152920;border-color:#315444}
.status-pill.failed{color:#eead99;background:#34251f;border-color:#624032}
.status-pill.demo{color:#d9bb80;background:#2c261b;border-color:#53472e}
.status-dot{display:block;width:5px;height:5px;border-radius:50%;background:currentColor}
.project-storage{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 16px;padding:11px 13px;border:1px solid var(--line);background:var(--panel);border-radius:6px}
.storage-copy{display:flex;align-items:center;gap:11px;min-width:0}
.storage-icon{display:grid;place-items:center;width:33px;height:33px;flex:none;border:1px solid #303a47;background:#1a212b;border-radius:6px;color:#a0bbd3}
.storage-title{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap}
.storage-copy p{font-size:10.5px;color:var(--muted);line-height:1.65;margin-top:3px}
.storage-actions{display:flex;gap:7px;align-items:center;flex:none}
.storage-actions .btn{font-size:11px}
#design-banner{padding:9px 23px;background:#262015;border-bottom:1px solid #56462b;color:#e6cca0;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}
#design-banner .banner-title{font-weight:650;margin-right:8px}
#design-banner .banner-actions{display:flex;align-items:center;gap:12px;flex:none}
#design-banner button{color:#eed19e;border-color:#6a5431}
#design-banner small{display:block;color:#b6a181;margin-top:2px;font-size:10px}
.dialog-kicker{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;letter-spacing:.06em;margin:0 0 9px}
.dialog-kicker svg{width:17px;height:17px}
.wechat-dialog{width:min(456px,calc(100vw - 28px))}
.wechat-dialog .dialog-header{padding:22px 26px 12px}
.wechat-dialog .dialog-body{padding:0 26px 12px}
.wechat-dialog .dialog-header p{font-size:11.5px}
.auth-status-line{display:flex;align-items:center;justify-content:space-between;margin:4px 0 17px;gap:8px}
.auth-status-line .tiny{font-size:10px}
.qr-placeholder{width:208px;height:208px;margin:0 auto 14px;border:1px solid #343b46;border-radius:10px;background:#171c24;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;text-align:center;overflow:hidden}
.scan-corners{position:absolute;inset:11px;border:1px solid #3b444f;border-radius:6px;pointer-events:none}
.qr-symbol{display:grid;place-items:center;width:60px;height:60px;border-radius:12px;background:#202c37;color:#8ca6bc;margin-bottom:12px}
.qr-symbol svg{width:31px;height:31px}
.qr-placeholder strong{font-size:13px;font-weight:550}
.qr-placeholder>span:not(.qr-symbol){font-size:10px;color:var(--muted);margin-top:5px;line-height:1.5}
.qr-placeholder .qr-watermark{font-size:9px!important;color:#b7a883!important;border:1px solid #4c4330;border-radius:3px;padding:2px 6px;margin-top:12px!important;background:#252116}
.auth-feedback{text-align:center;min-height:48px}
.auth-feedback strong{font-size:12px;font-weight:550}
.auth-feedback p{font-size:10.5px;color:var(--muted);margin-top:4px;line-height:1.7}
.auth-refresh{display:flex;margin:8px auto 18px;font-size:11px}
.privacy-note{display:flex;gap:8px;background:#131f28;border:1px solid #253742;padding:10px;border-radius:5px;font-size:10px;color:#99b2c4;line-height:1.8;margin:0 0 13px}
.privacy-note svg{width:14px;height:14px;margin-top:2px}
.agreement-row{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.8;color:var(--muted)}
.agreement-row input{width:14px;height:14px;margin-top:3px}
.agreement-row small{display:block;font-size:10px;color:var(--dim)}
.inline-link{color:var(--accent);padding:0;font:inherit;text-decoration:underline;text-underline-offset:3px}
.state-lab{margin-top:17px;border-top:1px solid var(--line);padding-top:11px;color:var(--muted);font-size:10px}
.state-lab summary{cursor:pointer}
.state-lab summary>span{color:var(--dim);margin-left:5px}
.state-chips{display:flex;flex-wrap:wrap;gap:6px;padding-top:10px}
.state-chips button{border:1px solid var(--line);border-radius:4px;font-size:10px;padding:5px 7px}
.state-chips button.active{border-color:#32607a;background:var(--accent-dim);color:var(--accent)}
.save-dialog{width:min(600px,calc(100vw - 28px))}
.save-dialog .dialog-header p{font-size:12px;color:#bbc5d1;overflow-wrap:anywhere}
.service-notice{background:#201f1b;border:1px solid #424035;border-radius:5px;color:#bfb8a3;font-size:11px;line-height:1.8;padding:10px 12px}
.save-section{margin:21px 0 9px;font-size:11px}
.save-option{display:flex;align-items:flex-start;gap:10px;padding:14px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);margin-bottom:9px;cursor:pointer}
.save-option.fixed-option{cursor:default}
.save-option>span:nth-child(2){min-width:0;flex:1}
.save-option strong{display:block;font-size:12px;font-weight:550;margin:0 0 4px}
.save-option small{font-size:10.5px;color:var(--muted);line-height:1.8;display:block}
.save-option strong em{font-size:10px;font-style:normal;color:var(--muted);font-weight:400;margin-left:5px}
.fixed-check{width:16px;height:16px;display:grid;place-items:center;background:var(--accent-dim);color:var(--accent);border-radius:4px;margin-top:2px;flex:none}
.fixed-check svg{width:13px;height:13px}
.save-location{margin:16px 0 12px;padding:0 3px;display:flex;gap:9px;color:var(--muted);font-size:10px;line-height:1.8}
.save-location svg{width:15px;height:15px;margin-top:2px;color:#9cbbcb}
.save-location strong{font-size:11px;color:#bec9d3;font-weight:500}
.save-location p{margin-top:2px}
.save-footer-hint{color:var(--dim);font-size:10px;line-height:1.8;min-height:17px;padding:0 3px;margin-bottom:4px}
.design-dialog{width:min(470px,calc(100vw - 28px))}
.setting-field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted);margin-bottom:16px}
.setting-field select{color:var(--text);width:100%;font-size:12px}
.design-files-check{margin-bottom:20px;font-size:11px}
.design-dialog .service-notice{font-size:10.5px;margin-bottom:7px}
.files-head{margin-bottom:17px}
.file-account-prompt{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:15px 17px;margin-bottom:18px}
.file-account-prompt>div{display:flex;align-items:center;gap:12px}
.file-account-prompt strong{font-size:12px;font-weight:550}
.file-account-prompt p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:4px}
.files-tabs{display:flex;gap:4px;flex-wrap:wrap}
.file-tab{font-size:11px;border:1px solid transparent;color:var(--muted);padding:5px 9px;border-radius:4px}
.file-tab.active{border-color:#374757;background:#1c2a35;color:#b1dbf0}
.file-tab .file-count{font-size:10px;margin-left:5px;color:var(--dim)}
.file-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 10px;flex-wrap:wrap}
.file-toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.file-toolbar select{border:1px solid var(--line);border-radius:4px;font-size:11px;background:var(--panel);color:var(--muted);height:28px;padding:3px 7px;max-width:230px}
.file-toolbar .search{height:28px;width:200px}
.file-list-summary{font-size:10px;color:var(--dim);margin:8px 0 0;line-height:1.6;display:flex;justify-content:space-between;gap:12px}
.file-empty{padding:28px 15px;border:1px solid var(--line);border-radius:6px;background:var(--panel);text-align:center;color:var(--muted)}
.file-empty .file-empty-symbol{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:var(--panel2);border-radius:8px;margin:0 auto 10px;color:#6c7d91}
.file-empty strong{display:block;font-size:12px;font-weight:500;color:#aeb9c7}
.file-empty p{font-size:11px;color:var(--dim);margin:5px 0 0;line-height:1.8}
.file-empty .btn{margin-top:14px}
.file-table th{padding:9px 11px}
.file-table td{height:59px;padding:10px 11px;vertical-align:middle}
.file-name-cell{display:flex;gap:10px;align-items:center;min-width:235px}
.file-format-icon{display:grid;place-items:center;width:29px;height:33px;border:1px solid #3b4c5d;color:#93bcd3;background:#1b2935;border-radius:4px;flex:none}
.file-format-icon.pdf{color:#d4a5a4;border-color:#644545;background:#322325}
.file-format-icon.excel{color:#91c9ac;border-color:#3e5b4d;background:#1d2c24}
.file-format-icon.csv{color:#c7bca0;border-color:#5c5140;background:#2d291f}
.file-name-cell strong{font-size:11px;font-weight:500;display:block}
.file-name-cell small{display:block;font-size:10px;color:var(--dim);margin-top:3px}
.file-project{font-size:11px;color:#b4bdcb;max-width:215px;white-space:normal}
.file-date{font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.file-actions{display:grid;grid-template-columns:40px 40px 28px;align-items:center;gap:5px;justify-content:flex-end}
.file-action-slot{display:flex;align-items:center;justify-content:center;min-width:0;min-height:28px}
.file-actions .btn.small{width:100%;font-size:10px;padding:4px 6px}
.file-action-remove .icon-btn{width:28px;height:28px}
.file-actions .icon-btn svg{width:14px;height:14px}
.file-demo-label{font-size:9px;padding:1px 4px;border:1px solid #574b32;color:#cbb483;border-radius:3px;margin-left:6px;font-weight:400;white-space:nowrap}
.file-example-note{display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:#211f18;border:1px solid #45402f;color:#b6a37e;font-size:10px;line-height:1.8;padding:8px 11px;border-radius:5px;margin-bottom:9px}
.file-example-note button{color:#dab97c;font-size:10px;margin-left:auto;padding:0}
.generated-title .generated-heading{color:#b4bfcd;font-size:12px}
.generated-subtitle{margin:-2px 0 11px;font-size:10.5px;color:var(--dim);line-height:1.7}
.file-detail-grid{display:grid;grid-template-columns:90px 1fr;gap:12px 15px;font-size:12px;margin:12px 0 18px}
.file-detail-grid dt{color:var(--muted)}
.file-detail-grid dd{margin:0;overflow-wrap:anywhere}
.btn.danger{background:#3f2524;border-color:#7b413d;color:#f5c1b6}
.customer-profile-notice{margin:12px 25px;padding:12px 16px;border:1px solid #d7b466;border-radius:8px;background:var(--panel);display:flex;align-items:center;gap:12px;line-height:1.5}.customer-profile-notice span{flex:1;color:var(--muted)}
@media(max-width:900px){.session-head{align-items:flex-start;flex-direction:column;gap:10px}.head-actions{align-self:flex-end}.file-toolbar-right .search{width:175px}.preview-tag{margin-right:2px}.storage-copy p{font-size:10px}.files-head{gap:10px}}
@media(max-width:650px){.topbar{height:auto;min-height:90px;gap:10px;padding:10px 12px;flex-wrap:wrap}.topbar .brand{font-size:12px}.brand small{display:none}.main-nav{order:3;width:100%;justify-content:flex-start}.account{margin-left:auto}.account .preview-tag{font-size:9px;padding:3px 4px}.account .wx-login{font-size:10px}.page{padding:18px 12px 30px}.customer-profile-notice{margin:10px 12px;align-items:flex-start;flex-direction:column}.project-storage{align-items:flex-start;flex-direction:column;gap:10px}.storage-actions{align-self:flex-end}.storage-copy{align-items:flex-start}.storage-title{font-size:11px}.file-account-prompt{padding:13px;align-items:flex-start;gap:10px;flex-direction:column}.file-account-prompt>.btn{align-self:flex-end}.file-toolbar-right{width:100%}.file-toolbar-right .search{width:100%}.file-toolbar-right select{max-width:100%;flex:1}.file-toolbar{gap:9px}.files-head{flex-direction:column;gap:13px}.files-head h1{font-size:22px}.files-head p{font-size:11px}.file-list-summary{flex-direction:column;gap:3px}.file-table{min-width:770px}.generated .file-table{min-width:610px}.save-dialog .dialog-body{padding:8px 17px}.save-dialog .dialog-header{padding:18px 17px 9px}.save-dialog .dialog-footer{padding:13px 17px 17px;gap:6px;flex-wrap:wrap}.save-dialog .dialog-footer .btn{font-size:11px;padding:8px 9px}.save-option{padding:11px 9px}.fixed-option>.badge{display:none}.save-option strong{font-size:11.5px}.save-option small{font-size:10px}.wechat-dialog .dialog-header{padding:19px 19px 10px}.wechat-dialog .dialog-body{padding:0 19px 12px}.wechat-dialog .dialog-footer{padding:11px 19px 17px}.qr-placeholder{width:190px;height:190px}.auth-status-line .tiny{font-size:9px}#design-banner{align-items:flex-start;padding:9px 12px;font-size:10px}#design-banner .banner-actions{gap:7px;flex-direction:column}#design-banner small{font-size:9px}.save-location{font-size:10px}.bottom-note{padding:10px 12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
