:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#28354b;background:#f5f7fb;--accent:#315ddc;--line:#e5eaf2;--muted:#8591a5;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:none;border:0;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #315ddc3b;outline-offset:1px}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-.7px}h2{font-size:17px}h3{font-size:14px}a{color:var(--accent);text-decoration:none}small,.muted{font-size:12px;color:var(--muted)}.flex{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.logo{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:700}.mark{display:grid;place-items:center;width:33px;height:33px;background:var(--accent);border-radius:9px;color:white;font-size:23px;font-weight:500}.sidebar{position:fixed;inset:0 auto 0 0;width:205px;background:white;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:30px}.sidebar nav{display:grid;gap:5px}.nav{display:flex;align-items:center;gap:13px;padding:13px 15px;text-align:left;border-radius:7px;font-size:13px;color:#78859a}.nav.active{background:#edf2ff;color:var(--accent);font-weight:600}.nav:hover{background:#f0f4fa}.nav .nav-icon{width:20px;text-align:center;font-size:17px}.side-bottom{margin-top:auto;font-size:11px;color:#97a2b3;line-height:2;padding:10px}.workspace{margin-left:205px;padding-bottom:45px}.topbar{height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px}.crumb{font-size:12px;color:#8b96a8}.avatar{display:inline-grid;place-items:center;background:#edf2fd;color:#657bb1;width:30px;height:30px;border-radius:50%;font-size:12px}.main{padding:31px 32px;max-width:1680px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.heading p{margin-top:9px;color:var(--muted);font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dbe2ec;border-radius:7px;padding:10px 14px;background:white;font-size:12px;white-space:nowrap;min-height:37px}.btn:hover{background:#f9fbff}.btn.primary{background:var(--accent);color:white;border-color:var(--accent)}.btn.danger{color:#bf555a;border-color:#ecd4d5}.btn.small{padding:7px 10px;min-height:30px;font-size:11px}.btn:disabled{opacity:.45;cursor:wait}.panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid #eff2f7}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric{padding:20px 22px;border:1px solid var(--line);border-radius:9px;background:white}.metric strong{display:block;margin:13px 0 7px;font-size:31px;letter-spacing:-1px;font-weight:600}.metric p{font-size:11px;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px}.stack{display:grid;gap:20px;align-content:start}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.search{padding:10px 12px;border:1px solid #dfe5ee;border-radius:7px;background:white;width:240px;max-width:100%;font-size:12px}.filters select{padding:9px 11px;border:1px solid #dfe5ee;border-radius:7px;font-size:12px;background:white;max-width:220px}.segmented{display:flex;border:1px solid #dfe5ee;border-radius:7px;background:white;padding:3px}.segmented button{padding:7px 12px;font-size:11px;border-radius:4px;color:var(--muted)}.segmented button.active{background:#edf2fc;color:var(--accent)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{padding:12px 19px;background:#fafbfe;font-size:11px;color:#95a0b1;font-weight:500}td{padding:16px 19px;border-bottom:1px solid #edf1f6;font-size:12px}tr[data-open]{cursor:pointer}tr[data-open]:hover{background:#f8faff}.cell-title{font-weight:600;color:#3c4960}.subtext{display:block;margin-top:6px;font-size:11px;color:#93a0b2}.badge{display:inline-block;padding:4px 8px;font-size:11px;border-radius:5px;background:#edf2ff;color:#5d7bbc;white-space:nowrap}.badge.green{background:#e8f5ef;color:#39876b}.badge.amber{background:#fff3e0;color:#a77627}.badge.purple{background:#efeaff;color:#8066c3}.badge.red{background:#fcecee;color:#bd646e}.pagination{padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#95a0b1}.empty{padding:50px 25px;text-align:center;color:#8995a6;font-size:12px;line-height:1.9}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.entity-card{padding:23px}.entity-card h2{margin:13px 0 8px}.entity-card p{font-size:12px;line-height:1.9;color:#8895a8}.entity-card .actions{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.board-col{border:1px solid #e5e3f0;border-radius:10px;background:#eeeef5;padding:14px 11px;min-height:380px}.board-col h3{padding:3px 5px 18px;color:#747689;font-size:12px;display:flex;justify-content:space-between}.issue-card{border:1px solid #e5e5ee;border-radius:8px;background:white;padding:18px 15px;margin-bottom:11px;text-align:left;width:100%;display:block}.issue-card h3{font-size:13px;color:#38445b;padding:12px 0;line-height:1.7}.issue-card p{font-size:11px;color:#939cac;line-height:1.7;margin-bottom:13px}.issue-card footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0f6;padding-top:12px;font-size:11px;color:#93a0b1}.reminder-row{padding:17px 20px;border-bottom:1px solid #eff2f7;display:flex;gap:12px;align-items:flex-start}.check{border:1px solid #c9d6e4;border-radius:50%;width:18px;height:18px;margin-top:2px;flex-shrink:0;font-size:11px;padding:0}.check.done{background:#e7f4ed;color:#348868}.reminder-row p{font-size:12px;line-height:1.8}.reminder-row small{display:block;margin-top:5px;font-size:11px}.link{color:var(--accent);font-size:12px}.timeline-list{padding:0 23px}.event{padding:19px 0;border-bottom:1px solid #edf1f6;display:flex;gap:12px}.event-main{flex:1;min-width:0}.event-header{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;margin-bottom:10px}.event-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.9;padding:14px 16px;background:#f6f8fb;border:1px solid #edf1f6;border-radius:7px}.event.internal .event-content{background:#f0f6f3;border-color:#e4eee9}.event .metadata{display:flex;align-items:center;gap:10px;margin-top:9px;font-size:10px;color:#95a0b1;flex-wrap:wrap}.project-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px}.project-list{padding:10px;display:grid;gap:3px;align-content:start}.project-link{padding:14px 10px;text-align:left;border-radius:6px;font-size:12px;line-height:1.7}.project-link.active{background:#eaf3ef;color:#33786c}.project-info{display:flex;gap:23px;font-size:11px;color:#8e9bad;flex-wrap:wrap;margin-top:15px}.progress{width:90px;height:5px;background:#e8edf4;border-radius:4px;overflow:hidden;margin-top:7px}.progress i{display:block;height:100%;background:var(--accent)}.tabs{display:flex;gap:23px;border-bottom:1px solid var(--line);padding:0 22px;overflow:auto}.tab{padding:15px 0;font-size:12px;color:#8996a8;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--accent);border-color:var(--accent)}.project-detail-head{padding:23px}.body-pad{padding:22px}.form{display:grid;gap:16px}.field{display:grid;gap:8px;font-size:12px}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid #dce3ed;border-radius:6px;background:white;color:#35445a}.field textarea{resize:vertical;min-height:94px;line-height:1.8}.field input[type=checkbox]{width:auto}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.check-group{display:flex;gap:14px;flex-wrap:wrap;padding:10px 0}.check-group label{display:flex;gap:6px;align-items:center;font-size:12px}.overlay{position:fixed;inset:0;background:#17243c55;backdrop-filter:blur(2px);z-index:100;display:flex;justify-content:flex-end}.drawer{width:650px;max-width:100%;background:white;height:100%;overflow:auto;padding:27px 29px 60px;box-shadow:-8px 0 40px #17243c15}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.drawer h1{font-size:24px;margin:12px 0}.drawer-actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.close{font-size:22px;color:#91a0b2;padding:4px 8px}.dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:#17243c55;backdrop-filter:blur(2px);z-index:120;padding:20px}.dialog{width:590px;max-width:100%;max-height:92vh;overflow:auto;padding:26px;background:white;border-radius:12px}.dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.form-error{color:#c05a64;font-size:12px;line-height:1.8}.file-row{display:flex;align-items:center;justify-content:space-between;gap:13px;border:1px solid #e4eaf2;border-radius:7px;padding:14px;font-size:12px;margin-bottom:10px}.file-row small{display:block;margin-top:5px}.composer{padding:20px 0;display:grid;gap:12px}.composer textarea{width:100%;padding:14px;border:1px solid #dce4ee;border-radius:8px;min-height:90px;resize:vertical;font:inherit;font-size:12px;line-height:1.8}.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:500;padding:13px 22px;background:#253b34;color:white;border-radius:8px;box-shadow:0 4px 18px #0002;font-size:12px;max-width:90vw}.toast.error{background:#994b56}.auth-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:#f3f6fc}.auth-card{width:420px;max-width:100%;padding:36px;background:white;border:1px solid #e1e8f2;border-radius:14px;box-shadow:0 12px 40px #223b5e08}.auth-card h1{font-size:24px;margin:28px 0 10px}.auth-card p{font-size:12px;color:#8c98ab;line-height:1.9;margin-bottom:25px}.auth-card .btn{width:100%;margin-top:8px}.notice{background:#eef3fc;border-radius:7px;padding:15px 18px;color:#6d82a4;font-size:12px;line-height:1.8}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.unread{background:#f5f9ff}.loading{padding:50px;text-align:center;color:#8a96a7}.sync-state{color:#8495a7;font-size:10px}.sync-state.offline{color:#c2646a}.notification-count{background:#f7e6e9;color:#b5606b;border-radius:4px;padding:2px 6px;font-size:10px}.status-line{font-size:12px;color:#8593a6;margin:12px 0;line-height:1.8}.warn{color:#bd616b}.snapshot{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;border:1px solid #e8edf4;background:#fafbfe;padding:12px;border-radius:6px;color:#8392a7}.mobile-title{display:none}@media(max-width:1150px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.stack{grid-template-columns:1fr 1fr}.board{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}}@media(max-width:760px){.workspace{margin-left:0}.topbar{height:56px;padding:0 18px}.main{padding:23px 17px}.heading{align-items:flex-start;gap:12px}.heading h1{font-size:23px}.heading .flex{gap:6px;flex-wrap:wrap;justify-content:flex-end}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:17px}.metric strong{font-size:28px}.dashboard-grid>.stack{grid-template-columns:1fr}.toolbar{align-items:stretch}.filters{width:100%}.search{width:100%}.filters select{flex:1;min-width:0}.cards,.board{grid-template-columns:1fr}.board-col{min-height:0}.project-grid{grid-template-columns:1fr}.project-list{display:flex;overflow:auto;max-width:100%}.project-link{white-space:nowrap;min-width:150px}.project-info{gap:14px}.row-2,.row-3{grid-template-columns:1fr}.drawer{padding:24px 18px 50px}.dialog{padding:22px 18px}.panel-title{padding:17px}.body-pad{padding:17px}.event-header{flex-wrap:wrap}.timeline-list{padding:0 17px}.pagination{padding:14px;flex-wrap:wrap}.auth-card{padding:29px}.crumb{font-size:11px}.topbar .btn{padding:7px;font-size:10px;min-height:28px}.topbar .avatar{display:none}.sync-state{display:none}.settings-grid{grid-template-columns:1fr}h1{overflow-wrap:anywhere}.file-row{flex-wrap:wrap}.segmented{width:max-content}.reminder-row{padding:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* All product icons use Lucide 0.468.0: 24-unit grid, 2-unit rounded stroke. */
.icon{display:inline-block;width:18px;height:18px;flex-shrink:0;vertical-align:-4px}.nav-icon{display:flex;align-items:center;justify-content:center}.nav-icon .icon{width:20px;height:20px}.mark .icon{width:22px;height:22px}.btn.small .icon{width:15px;height:15px}.check .icon{width:12px;height:12px;vertical-align:-1px}.link,.close,.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.close{width:34px;height:34px}.close .icon{width:19px;height:19px}.segmented .icon{width:15px;height:15px}

button.metric{width:100%;text-align:left;font:inherit;cursor:pointer}button.metric:hover{border-color:#b9c9ec;background:#fbfdff}button.metric:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button.metric:active{background:#f0f4fc}

.mail-account-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#eef3fc;border:1px solid #e1e9f7;border-radius:8px;padding:14px 17px;margin-bottom:20px;font-size:12px}.mail-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start}.mail-list{max-height:75vh;overflow:auto}.mail-row{display:block;width:100%;padding:19px;text-align:left;border-bottom:1px solid #edf1f6}.mail-row.active{background:#edf3ff}.mail-row strong{font-size:12px}.mail-row small{font-size:10px}.mail-row h3{font-size:12px;margin:11px 0 8px;line-height:1.7}.mail-row p{font-size:11px;color:#95a0b1;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mail-reading-head{padding:24px;border-bottom:1px solid var(--line)}.mail-body{padding:24px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9;color:#5b6a7e}.mail-code{font-family:Consolas,monospace;font-size:25px;letter-spacing:4px;padding:20px;background:#f3f6fb;border-radius:8px;margin:17px 0}.mail-reading{min-height:420px} @media(max-width:1000px){.mail-layout{grid-template-columns:280px minmax(0,1fr)}}@media(max-width:760px){.mail-layout{grid-template-columns:1fr}.mail-list{max-height:320px}.mail-reading-head,.mail-body{padding:18px}.mail-account-line{gap:10px}.mail-reading{min-height:250px}}

.sidebar-heading,.topbar-location{display:flex;align-items:center;gap:12px}.sidebar-heading{justify-content:space-between}.navigation-toggle,.navigation-close,.navigation-backdrop{display:none}.sidebar nav{overflow-y:auto;overflow-x:hidden;min-height:0}.sidebar{z-index:80}
@media(max-width:960px){.workspace{margin-left:0}.navigation-toggle{display:inline-flex}.navigation-close{display:inline-flex;flex-shrink:0}.sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,calc(100vw - 48px));height:100dvh;padding:24px 18px;gap:24px;border-right:1px solid var(--line);border-bottom:0;visibility:hidden;transform:translateX(-100%);box-shadow:8px 0 28px #17243c15}.sidebar nav{display:grid;gap:5px}.nav{padding:13px 15px;font-size:13px;gap:13px;white-space:normal}.nav-icon{display:flex}.side-bottom{display:block}.navigation-open{overflow:hidden}.navigation-open .sidebar{visibility:visible;transform:none}.navigation-open .navigation-backdrop{display:block;position:fixed;inset:0;background:#17243c66;z-index:79;cursor:default}.topbar-location{min-width:0}.crumb{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{gap:12px}.topbar>.flex{flex-shrink:0;gap:8px}}

.icon-action{min-width:42px;min-height:42px;padding:10px;gap:6px}.icon-action .icon{width:18px;height:18px}.icon-action .icon+ .icon{width:14px;height:14px;color:var(--muted)}

.data-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.data-actions .btn.icon-action{width:52px;height:42px;min-height:42px;padding:9px;flex:0 0 52px;border-radius:7px}.data-actions .icon{width:18px;height:18px}.data-actions .icon+.icon{width:14px;height:14px}

.filters select,.field select[name="status"]{border:0;box-shadow:none;background:transparent}.filters select:focus:not(:focus-visible),.field select[name="status"]:focus:not(:focus-visible){outline:none}.filters select:focus-visible,.field select[name="status"]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.logo{gap:9px;min-width:0}.logo .mark{width:38px;height:38px;background:transparent;border-radius:0;flex:0 0 38px}.mark img{display:block;width:100%;height:100%;object-fit:contain}.brand-wordmark{display:flex;flex-direction:column;gap:4px}.brand-name{font-size:18px;font-weight:700;line-height:1.1;letter-spacing:.2px;color:var(--accent)}.brand-type{font-size:11px;font-weight:500;line-height:1.3;letter-spacing:.5px;color:#64748b}

.api-settings-panel{max-width:680px}.api-settings-panel .body-pad{padding:24px}.api-settings-actions{display:flex;justify-content:flex-end;padding-top:6px}@media(max-width:760px){.api-settings-panel .body-pad{padding:18px}}

.secret-field{position:relative}.secret-field input{padding-right:48px}.secret-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:34px;display:flex;align-items:center;justify-content:center;color:#8591a5;border-radius:5px}.secret-eye:hover{background:#f1f5fb;color:var(--accent)}.secret-eye .icon{width:19px;height:19px}

.nav .notification-count{margin-left:auto;min-width:20px;text-align:center;flex-shrink:0;line-height:16px}

.filters select:focus,.filters select:focus-visible,.field select:focus,.field select:focus-visible,.field select[name="status"]:focus-visible{outline:none;box-shadow:none}

.mail-translation-tabs{padding:20px 24px 0}.mail-body.translated{background:#f8faff}@media(max-width:760px){.mail-translation-tabs{padding:16px 18px 0}}
