*{box-sizing:border-box}[hidden]{display:none !important}body{margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#1f2430;background:#f7f8fa}a{color:#12a594;text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex-wrap:wrap;background:#fff;border-bottom:1px solid #e2e5ea;padding:12px 20px}.topbar h1{font-size:16px;margin:0}.topbar h1 a{display:inline-flex;align-items:center;gap:10px;color:#1f2430}.topbar h1 a:hover{text-decoration:none}.topbar .logo{height:22px;width:auto;display:block}.topbar .whoami{color:#6b7280;font-size:13px}.topbar .role-tag{background:#e2f6f2;color:#12a594;border-radius:999px;padding:1px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.topbar .toplink{color:#6b7280;font-size:13px}.logout-form{margin:0}.settings-page{max-width:640px;margin:0 auto}.settings-card{margin-bottom:18px}.fld-row{display:flex;gap:12px}.fld-row .fld{flex:1}.fld-row .fld.port{flex:0 0 90px}.fld-row .fld.enc{flex:0 0 130px}.settings-body{padding:20px}.settings-body select,.settings-body input[type=number]{width:100%;padding:8px 10px;border:1px solid #e2e5ea;border-radius:6px;font:14px inherit;margin-top:5px}.settings-body h3{margin:4px 0 4px}.settings-body p.muted{margin:0 0 18px;font-size:13px}.settings-actions{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-top:8px}.key-set{color:#16a34a;font-size:13px}.key-unset{color:#c4443f;font-size:13px}.flash-ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;border-radius:6px;padding:8px 12px;margin-bottom:14px;font-size:13px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-head h2{margin:0}.row-actions{text-align:right;color:#6b7280}.row-actions a{color:#6b7280}.row-actions .ib{display:inline;margin:0}.proj-settings{max-width:820px;margin:0 auto}.sect{margin-bottom:18px}.sect-body{padding:18px}.sect-body>p.muted{margin-top:0;font-size:13px}.sect-body .fld input[readonly]{background:#fafbfc;font-family:"SFMono-Regular",Menlo,Consolas,monospace}.inline-form{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}.inline-form input{padding:8px 10px;border:1px solid #e2e5ea;border-radius:6px;font:14px inherit}.inline-form.copy-primary{margin-top:8px}.check-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;cursor:pointer}.check-row input[type=checkbox]{flex:none;width:15px;height:15px;margin:0;accent-color:#12a594}.locale-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.locale-chip{display:inline-flex;align-items:center;gap:6px;background:#f1f3f7;border-radius:999px;padding:4px 6px 4px 12px;font-size:13px}.locale-chip code{color:#6b7280;font-size:11px}.locale-chip form{margin:0}.chip-x{background:none;border:none;color:#6b7280;cursor:pointer;padding:2px 4px;border-radius:50%}.chip-x:hover{background:#e2e6ec;color:#c4443f}.sep{border:none;border-top:1px solid #e2e5ea;margin:18px 0}.assign-table{width:100%;border-collapse:collapse;margin-bottom:14px;font-size:13px}.assign-table th,.assign-table td{padding:7px 8px;border-bottom:1px solid #e2e5ea}.assign-table th{color:#6b7280;font-size:12px;text-transform:uppercase}.assign-table .loc-col{text-align:center;width:44px}.assign-table td .muted{font-size:12px}.pill{display:inline-block;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:600}.pill-ok{background:#f0fdf4;color:#15803d}.pill-warn{background:#fffbeb;color:#b45309}.rolef{margin:0}.rolef select{border:1px solid #e2e5ea;border-radius:6px;padding:4px 6px;font:inherit}.invite-link{margin-top:10px;word-break:break-all}.invite-link code{font-size:12px}.check-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:6px 0;font-size:14px}.check-row .muted{font-size:12px}.linkbtn{background:none;border:none;color:#12a594;cursor:pointer;font:inherit;padding:0}.linkbtn:hover{text-decoration:underline}.auth-alt{margin-top:14px;text-align:center;font-size:13px}.auth-alt a{color:#12a594;text-decoration:none}.auth-alt a:hover{text-decoration:underline}.login-card{max-width:360px;margin:60px auto;padding:28px;text-align:center}.login-card h2{margin:4px 0 20px}.login-card form{text-align:left;display:flex;flex-direction:column;gap:12px}.login-card label{font-size:13px;color:#6b7280;display:flex;flex-direction:column;gap:4px}.login-card label.remember{flex-direction:row;align-items:center;gap:6px}.login-card input[type=email],.login-card input[type=password],.login-card input[type=text]{padding:8px 10px;border:1px solid #e2e5ea;border-radius:6px;font:14px inherit}.login-card button[type=submit]{margin-top:4px;padding:9px;border:none;border-radius:6px;background:#12a594;color:#fff;font:600 14px inherit;cursor:pointer}.login-logo{height:34px;width:auto;margin-bottom:8px}.pw-wrap{position:relative;display:block}.pw-wrap input{width:100%;padding-right:38px}.pw-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:2px;line-height:0;color:#6b7280;display:inline-flex}.pw-toggle:hover{color:#1f2430}.pw-toggle .eye-off{display:none}.pw-toggle.on .eye{display:none}.pw-toggle.on .eye-off{display:inline}.alert{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:6px;padding:8px 12px;margin-bottom:12px;font-size:13px}.auth{display:flex;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.auth-brand{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#fff;background:linear-gradient(150deg, #0e8f80 0%, #12a594 55%, #37cfa8 100%)}.auth-brand::before,.auth-brand::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.06)}.auth-brand::before{width:340px;height:340px;top:-80px;left:-90px}.auth-brand::after{width:460px;height:460px;bottom:-140px;right:-120px}.auth-brand-inner{position:relative;z-index:1;text-align:center;max-width:420px}.auth-logo{height:34px;width:auto;margin-bottom:36px;filter:brightness(0) invert(1)}.auth-illustration{margin:0 auto 28px;max-width:320px}.auth-illustration svg{width:100%;height:auto}.auth-tagline{font-size:26px;font-weight:700;margin:0 0 10px}.auth-sub{font-size:15px;line-height:1.6;opacity:.9;margin:0}.auth-copyright{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:13px;color:rgba(255,255,255,.75);z-index:1}.auth-copyright strong{font-weight:700}.auth-form{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;background:#f7f8fa}.auth-form-inner{width:100%;max-width:340px}.auth-form h1{font-size:30px;margin:0 0 6px;color:#1f2430}.auth-hello{color:#6b7280;margin:0 0 28px;font-size:15px}.auth-input{display:block;width:100%;margin-bottom:16px;padding:14px 16px;border:1px solid rgba(0,0,0,0);border-radius:10px;background:#eef1fb;font:15px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#1f2430}.auth-input::placeholder{color:#9aa2b1}.auth-input:focus{outline:none;border-color:#12a594;background:#fff}.auth-form .pw-wrap .auth-input{padding-right:44px;margin-bottom:16px}.auth-form .pw-toggle{right:14px;margin-bottom:0}.auth-form .remember{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280;margin:4px 0 20px}.auth-submit{width:100%;padding:14px;border:none;border-radius:10px;background:#12a594;color:#fff;font:700 15px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;cursor:pointer}.auth-submit:hover{background:#0e8f80}.auth-form .alert{margin-bottom:16px}@media(max-width: 820px){.auth{flex-direction:column}.auth-brand{flex:none;padding:32px 24px 48px}.auth-illustration{max-width:210px;margin-bottom:20px}.auth-logo{margin-bottom:24px}.auth-copyright{position:static;margin-top:26px}.auth-form{flex:none}}.container{max-width:1500px;margin:0 auto;padding:20px}.card{background:#fff;border:1px solid #e2e5ea;border-radius:8px;overflow:hidden}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 12px;border-bottom:1px solid #e2e5ea;vertical-align:top}th{background:#fafbfc;font-weight:600;color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.03em}tr:last-child td{border-bottom:none}.project-row td{padding:14px 16px}.badge{display:inline-block;background:#e2f6f2;color:#12a594;border-radius:999px;padding:1px 9px;font-size:12px}.spacer{flex:1}.saved{color:#16a34a;font-size:11px;opacity:0;transition:opacity .2s}.saved.show{opacity:1}.manage{display:flex;gap:20px;align-items:flex-start}.manage-main{flex:1;min-width:0}.manage-side{width:320px;flex:none}.tabs{display:flex;gap:4px;border-bottom:1px solid #e2e5ea;margin-bottom:16px}.tab{padding:10px 16px;font-size:14px;color:#6b7280;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px;cursor:pointer}.tab.active{color:#1f2430;border-bottom-color:#12a594;font-weight:600}.tab.disabled{color:#b6bcc7;cursor:default}.filterbar{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filterbar select,.filterbar input[type=search]{padding:7px 10px;border:1px solid #e2e5ea;border-radius:6px;font:14px inherit;font:inherit;background:#fff}.locale-pick{display:inline-flex;align-items:center;gap:4px;border:1px solid #e2e5ea;border-radius:6px;padding-left:8px;background:#fff}.locale-pick select{border:none;padding-left:4px}.filter-input{flex:1;min-width:180px}.actionrow{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:10px;font-size:13px}.btn-newasset{padding:5px 12px;font-size:13px}.sortform{margin:0}.sort{color:#6b7280}.sort select{border:1px solid #e2e5ea;border-radius:6px;padding:4px 6px;font:inherit}.assets .asset{border-bottom:1px solid #e2e5ea}.assets .asset:last-child{border-bottom:none}.assets .asset.open{background:#fafbfc}.asset-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px}.status-ico{flex:none;width:16px;text-align:center;font-size:13px;margin-top:2px}.st-translated .status-ico{color:#16a34a}.st-empty .status-ico{color:#d1d5db}.asset-main{flex:1;min-width:0;cursor:pointer}.asset-main .source{color:#6b7280;font-size:13px;margin-top:3px;word-break:break-word}.asset-value{font:14px "SFMono-Regular",Menlo,Consolas,monospace;color:#1f2430;white-space:pre-wrap;word-break:break-word}.asset-value.is-empty{color:#c4443f;font-style:italic;opacity:.8}.asset-icons{flex:none;display:flex;gap:2px;opacity:0;transition:opacity .12s}.asset-row:hover .asset-icons,.asset.open .asset-icons{opacity:1}.ico{background:none;border:none;cursor:pointer;color:#6b7280;font-size:14px;padding:3px 5px;border-radius:4px;line-height:1}.ico:hover{background:#eceef1;color:#1f2430}.ico:disabled{opacity:.35;cursor:default}.ico.on{color:#12a594;background:#e2f6f2}.ico.busy{opacity:.5;animation:pulse .8s ease-in-out infinite}@keyframes pulse{50%{opacity:1}}.empty-row{padding:24px 14px}.asset-check{flex:none;margin-top:2px;display:flex;align-items:center}.asset-check input{width:15px;height:15px;cursor:pointer;accent-color:#12a594}.flag-badge{flex:none;width:14px;text-align:center;color:#c4443f;margin-top:3px;font-size:12px}.new-badge{flex:none;align-self:center;background:#16a34a;color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:1px 6px}.tag-chip{flex:none;align-self:center;font:11px "SFMono-Regular",Menlo,Consolas,monospace;color:#6b7280;background:#fafbfc;border:1px solid #e2e5ea;border-radius:4px;padding:2px 7px;white-space:nowrap}.tag-chip i{font-size:9px;opacity:.7;margin-right:2px}.tag-chip:hover{text-decoration:none;color:#12a594;border-color:#12a594;background:#e2f6f2}.asset:not(.is-important) .flag-badge{display:none}.asset.is-important{background:#fef2f2}.asset.selected,.asset.is-important.selected{background:#e9f8f4}.bulkbar{display:flex;align-items:center;gap:10px;min-height:42px;padding:6px 12px;margin-bottom:8px;border:1px solid #e2e5ea;border-radius:6px;background:#fff}.bulk-all{display:flex;align-items:center}.bulk-all input{width:15px;height:15px;cursor:pointer;accent-color:#12a594}.bulk-hint{font-size:13px}.bulkbar.has-sel .bulk-hint{display:none}.bulk-actions{display:none;align-items:center;gap:4px;flex:1}.bulkbar.has-sel .bulk-actions{display:flex}.bulk-count{font-size:13px;color:#1f2430;font-weight:600;margin-right:6px}.bulkbar .ico{font-size:15px;padding:6px 9px}.bulkbar .ico.danger:hover{background:#fef2f2;color:#b91c1c}.bulk-clear{margin-left:auto;background:none;border:none;color:#6b7280;font-size:13px;cursor:pointer}.bulk-clear:hover{color:#1f2430;text-decoration:underline}.at-selectall{margin-left:10px;font-size:13px}.loc-checks{margin-top:6px;display:grid;grid-template-columns:repeat(auto-fill, minmax(190px, 1fr));gap:2px;max-height:240px;overflow-y:auto;border:1px solid #e2e5ea;border-radius:6px;padding:6px}.loc-check{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;font-weight:400;font-size:13px;line-height:1.3;cursor:pointer}.loc-check:hover{background:#fafbfc}.loc-check input[type=checkbox]{flex:none;width:15px;height:15px;margin:0;accent-color:#12a594}.loc-check span{flex:1;text-align:left}.loc-check.is-disabled{opacity:.45;cursor:default}.loc-check.is-disabled:hover{background:none}.proj-list{margin-top:6px;max-height:260px;overflow-y:auto;border:1px solid #e2e5ea;border-radius:6px}.proj-item{border-bottom:1px solid #e2e5ea}.proj-item:last-child{border-bottom:none}.proj-head{display:flex;align-items:center;gap:8px;padding:8px 10px;font-weight:600;font-size:13px;cursor:pointer}.proj-head input[type=checkbox]{flex:none;width:15px;height:15px;margin:0;accent-color:#12a594}.proj-locales{display:grid;grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));gap:2px;padding:0 10px 8px 30px}.proj-toggle{grid-column:1/-1;justify-self:start;font-size:13px;padding:2px 8px}.proj-list.no-locales .proj-locales{display:none !important}.at-progress{margin-top:14px}.at-progress .prog-bar{margin-bottom:8px}.at-status{font-size:13px}.asset-editor{padding:0 14px 14px 42px}.editor-meta{font-size:12px;margin-bottom:6px;min-height:14px}.editing{font-size:13px;color:#6b7280;display:inline-flex;align-items:center;gap:6px;margin-bottom:8px}.editing select{border:1px solid #e2e5ea;border-radius:6px;padding:4px 6px;font:inherit}.asset-editor .value{width:100%;min-height:90px;border:1px solid #e2e5ea;border-radius:6px;padding:8px 10px;font:14px "SFMono-Regular",Menlo,Consolas,monospace;line-height:1.5;resize:vertical;overflow:hidden}.asset-editor .value:focus{outline:none;border-color:#12a594}.asset-editor .value.code-view{background:#1f2430;color:#e6e6e6}.editor-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-top:8px}.btn-save{padding:7px 14px;border:1px solid #12a594;border-radius:6px;background:#12a594;color:#fff;font:600 13px inherit;cursor:pointer}.btn-save:disabled{background:#fff;color:#6b7280;border-color:#e2e5ea;cursor:default}.side-tabs{display:flex;gap:2px;margin-bottom:-1px;position:relative;z-index:1}.side-tab{flex:1;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,0);border-bottom:none;border-radius:6px 6px 0 0;background:rgba(0,0,0,0);color:#6b7280;font-size:15px;cursor:pointer}.side-tab:hover{color:#1f2430}.side-tab.active{background:#fff;border-color:#e2e5ea;color:#12a594}.side-head{padding:12px 14px;font-size:18px;font-weight:600;border-bottom:1px solid #e2e5ea}.side-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #e2e5ea;color:#1f2430;font-size:14px}.side-item:last-child{border-bottom:none}.side-item:hover{background:#fafbfc;text-decoration:none}.side-item.active{background:#e9f8f4;font-weight:600}.side-item i{color:#6b7280;width:16px;text-align:center}.side-item i.st-ico-red{color:#c4443f}.side-item .side-badge{margin-left:auto;background:#c4443f;color:#fff;font-size:11px;font-weight:600;border-radius:9px;padding:1px 7px}.side-item .side-badge.is-new{background:#16a34a}.side-sep{height:6px}.st-ico-green{color:#16a34a}.st-ico-red{color:#c4443f}.st-ico-muted{color:#c4c9d2}.team-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid #e2e5ea;font-size:14px}.team-row:last-child{border-bottom:none}.avatar{flex:none;width:26px;height:26px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600}.av-0{background:#2563eb}.av-1{background:#16a34a}.av-2{background:#d97706}.av-3{background:#db2777}.av-4{background:#7c3aed}.av-5{background:#0891b2}.tname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trole{color:#6b7280;font-size:13px}.side-foot{display:flex;align-items:center;gap:8px;padding:11px 14px;border-top:1px solid #e2e5ea;color:#6b7280;font-size:13px}.side-foot i{width:16px;text-align:center}.side-foot:hover{color:#12a594;text-decoration:none;background:#fafbfc}.locale-row{display:grid;grid-template-columns:20px 1fr auto;grid-template-rows:auto auto;column-gap:8px;row-gap:5px;align-items:center;padding:9px 14px;border-bottom:1px solid #e2e5ea;color:#1f2430}.locale-row:last-child{border-bottom:none}.locale-row:hover{background:#fafbfc;text-decoration:none}.locale-row.active{background:#e9f8f4}.locale-row .flag{grid-row:1}.locale-row .lname{grid-row:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.locale-row .lpct{grid-row:1;font-size:12px;color:#6b7280}.locale-row .lbar{grid-column:1/-1;grid-row:2;height:6px;background:#edeff3;border-radius:3px;overflow:hidden}.locale-row .lbar-fill{display:block;height:100%;background:#34c759;border-radius:3px}.footer-count{margin-top:12px;font-size:13px}.swap{display:inline-flex;align-items:center;justify-content:center;width:30px;height:34px;border:1px solid #e2e5ea;border-radius:6px;background:#fff;color:#6b7280}.swap:hover{text-decoration:none;color:#1f2430}.save-btn{padding:8px 16px;border:1px solid #e2e5ea;border-radius:6px;background:#fff;color:inherit;font:600 13px inherit;cursor:pointer}.save-btn:not(:disabled){background:#12a594;color:#fff;border-color:#12a594}.save-btn:disabled{color:#6b7280;cursor:default}.tr-list{margin-bottom:12px}.tr-head,.tr-row{display:grid;grid-template-columns:1fr 1fr}.tr-head{background:#eceef1;font-weight:600;font-size:13px}.tr-head>div{padding:8px 14px}.tr-head>div+div{border-left:1px solid #e2e5ea}.tr-body{max-height:42vh;overflow-y:auto}.tr-row{border-top:1px solid #e2e5ea;cursor:pointer}.tr-row:first-child{border-top:none}.tr-row>div{padding:7px 14px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tr-row .tr-src>div{overflow:hidden;text-overflow:ellipsis}.tr-row .tr-key{font:11px "SFMono-Regular",Menlo,Consolas,monospace;color:#6b7280}.tr-row .tr-tgt{border-left:1px solid #e2e5ea}.tr-row:hover{background:#fafbfc}.tr-row.selected{background:#e9f8f4}.tr-row.st-empty .tr-tgt{color:#c4443f}.tr-empty{padding:12px}.tr-layout{display:flex;flex-direction:column}.editor{order:-1;margin-bottom:12px;box-shadow:0 2px 14px rgba(0,0,0,.07)}.editor-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f1f3f7;border-bottom:1px solid #e2e5ea;border-radius:6px 6px 0 0;font-size:14px}.editor-head .tagged{color:#6b7280;font-size:12px}.editor-head .chip{background:#e2e6ec;border-radius:4px;padding:1px 7px;margin-left:4px}.editor-src{padding:8px 14px;color:#6b7280;font-size:13px;border-bottom:1px solid #e2e5ea;min-height:18px;white-space:pre-wrap;word-break:break-word}.editor-text{width:100%;min-height:110px;border:none;padding:12px 14px;font:14px "SFMono-Regular",Menlo,Consolas,monospace;line-height:1.5;resize:vertical}.editor-text:focus{outline:none}.editor-text:disabled{background:#fafbfc;color:#6b7280}.editor-bar{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:10px 14px;border-top:1px solid #e2e5ea;background:#fafbfc;border-radius:0 0 6px 6px;font-size:12px}.editor-bar .spacer{flex:1}.editor-bar .kbd-hint{display:inline-flex;align-items:center;gap:3px}.editor-bar kbd{font:11px "SFMono-Regular",Menlo,Consolas,monospace;background:#fff;border:1px solid #e2e5ea;border-radius:3px;padding:1px 5px;color:#6b7280}.muted{color:#6b7280}.pagination{margin-top:16px}.pagination a,.pagination span{display:inline-block;padding:4px 8px}.modal-backdrop{position:fixed;inset:0;background:rgba(20,24,32,.5);display:flex;align-items:flex-start;justify-content:center;padding:60px 16px;z-index:50}.modal{background:#fff;border-radius:10px;width:560px;max-width:100%;box-shadow:0 12px 40px rgba(0,0,0,.25);overflow:hidden}.modal-wide{width:860px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-size:16px;font-weight:600;border-bottom:1px solid #e2e5ea}.modal-x{background:none;border:none;font-size:16px;color:#6b7280;cursor:pointer}.modal-body{padding:18px;max-height:60vh;overflow-y:auto}.modal-foot{padding:12px 18px;border-top:1px solid #e2e5ea;display:flex;gap:8px}.fld{display:block;margin-bottom:14px;font-weight:600;font-size:13px}.fld small{font-weight:400;color:#6b7280;margin-left:6px}.fld input,.fld textarea{display:block;width:100%;margin-top:5px;padding:8px 10px;border:1px solid #e2e5ea;border-radius:6px;font:14px inherit}.fld input:focus,.fld textarea:focus{outline:none;border-color:#12a594}.fld .fld-hint{display:block;margin-top:5px;font-weight:400;font-size:12px}.modal-err{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:6px;padding:8px 12px;font-size:13px}.btn-primary{padding:8px 16px;border:none;border-radius:6px;background:#12a594;color:#fff;font:600 13px inherit;cursor:pointer}.btn-ghost{padding:8px 16px;border:1px solid #e2e5ea;border-radius:6px;background:#fff;color:#1f2430;font:600 13px inherit;cursor:pointer}.prog-summary{font-size:15px;font-weight:600;margin-bottom:10px}.prog-bar{height:10px;background:#edeff3;border-radius:5px;overflow:hidden;margin-bottom:16px}.prog-fill{display:block;height:100%;background:#34c759}.prog-table{width:100%;border-collapse:collapse;font-size:13px}.prog-table th{text-align:left;padding:6px 10px;color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e2e5ea}.prog-table td{padding:7px 10px;border-bottom:1px solid #e2e5ea}.prog-table tr.is-done td{background:#f0fdf4}.prog-table td:nth-child(4){color:#1f2430;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash{display:flex;gap:20px;align-items:flex-start}.dash-main{flex:1;min-width:0}.dash-side{width:320px;flex:none}.acct{display:flex;gap:16px;align-items:center;padding:18px;margin-bottom:16px}.acct .acct-avatar{flex:none;width:72px;height:72px;border-radius:8px;background:#e2f6f2;display:flex;align-items:center;justify-content:center}.acct .acct-avatar img{width:42px;height:auto}.acct .acct-info h2{margin:0 0 6px;font-size:22px}.acct .acct-info h2 .acct-kind{color:#6b7280;font-weight:400;font-size:15px}.acct .acct-stats{list-style:none;margin:0;padding:0;color:#6b7280;font-size:13px;line-height:1.7}.acct .acct-stats strong{color:#1f2430;font-weight:600}.dash-tools{display:flex;gap:10px;align-items:center;margin-bottom:14px}.find{padding:8px 10px;border:1px solid #e2e5ea;border-radius:6px;font:14px inherit;flex:1}.find:focus{outline:none;border-color:#12a594}.proj-cards{display:flex;flex-direction:column;gap:14px}.proj-empty{text-align:center;padding:44px 20px;background:#fff;border:1px dashed #e2e5ea;border-radius:8px}.proj-empty i{font-size:30px;color:#c3c8d0;display:block;margin-bottom:12px}.proj-empty .t{color:#1f2430;font-weight:600;font-size:15px;margin:0 0 4px}.proj-empty .h{color:#6b7280;font-size:13px;margin:0}.proj-card{background:#fff;border:1px solid #e2e5ea;border-radius:8px;overflow:hidden;padding:16px 18px}.proj-card .pc-head{display:flex;gap:12px;align-items:flex-start}.proj-card .proj-icon{color:#6b7280;font-size:22px;margin-top:2px}.proj-card .proj-title{min-width:0}.proj-card .proj-title h3{margin:0;font-size:18px}.proj-card .proj-title h3 a{color:#1f2430;text-decoration:none}.proj-card .proj-title h3 a:hover{color:#12a594}.proj-card .proj-title h3 .proj-gear{color:#6b7280;font-size:13px;margin-left:6px}.proj-card .proj-title h3 .proj-gear:hover{color:#12a594}.proj-card .proj-desc{color:#4b5563;font-size:14px;margin-top:4px}.proj-card .proj-sub{font-size:12px;margin-top:3px}.proj-card .mono{font:14px "SFMono-Regular",Menlo,Consolas,monospace}.proj-card .proj-actions{display:flex;flex-wrap:wrap;gap:18px;margin:12px 0 4px}.proj-card .proj-actions a{color:#6b7280;text-decoration:none;font-size:13px}.proj-card .proj-actions a i{margin-right:5px}.proj-card .proj-actions a:hover{color:#12a594}.pbar{height:8px;background:#edeff3;border-radius:999px;overflow:hidden;margin:12px 0 14px}.pbar .pbar-fill{display:block;height:100%;width:0;background:#34c759;transition:width .4s ease}.proj-stats{display:flex;gap:12px}.proj-stats div{flex:1;min-width:0;text-align:center;display:flex;flex-direction:column;gap:2px}.proj-stats .s-num{font-size:22px;font-weight:700;color:#1f2430}.proj-stats .s-num.is-flag{color:#c4443f}.proj-stats .s-lbl{font-size:12px;color:#6b7280}.side-card{background:#fff;border:1px solid #e2e5ea;border-radius:8px;overflow:hidden;padding:0 0 6px}.side-card .side-head{display:flex;align-items:center;gap:8px}.side-card .find{margin:12px 14px;width:calc(100% - 28px);box-sizing:border-box}.mem-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid #e2e5ea}.mem-row .mem-info{min-width:0}.mem-row .mem-name{font-weight:600;font-size:14px}.mem-row .mem-name .you{display:inline-block;border-radius:999px;background:#e2f6f2;color:#12a594;font-size:10px;padding:1px 7px;margin-left:6px;text-transform:uppercase}.mem-row .mem-meta{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:12px}.mem-add{display:block;margin:8px 14px 4px;padding:8px 0;color:#12a594;text-decoration:none;font-size:13px;font-weight:600}.mem-add:hover{text-decoration:underline}.role-tag{background:#e2f6f2;color:#12a594;border-radius:999px;padding:1px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.03em}@media(max-width: 900px){.dash{flex-direction:column}.dash-side{width:100%}.proj-stats .s-num{font-size:18px}.manage{flex-direction:column}.manage-side{width:100%}}@media(max-width: 600px){.asset-row{flex-wrap:wrap;row-gap:8px;align-items:center}.asset-main{order:-1;flex-basis:100%}.asset-icons{opacity:1;margin-left:auto}}
