@charset "UTF-8";
/* C · 立体潮玩风。仅界面样式，不参与业务计算。 */
:root{
  --ink:#183748;--text:#273e48;--muted:#5b6d63;--paper:#f3eee5;
  --white:#fffcf6;--line:#e0d9cb;--green:#137b65;--lime:#f3d191;
  --red:#b33740;--yellow:#8c5b17;--purple:#16876e;--coral:#dc522c;
  --radius:24px;--surface:linear-gradient(145deg,#fffefa,#f5efe3);
  --raised:inset 0 2px 2px #ffffff,0 5px 10px #786b4b17,0 1px 2px #736b4924;
  --mint:linear-gradient(160deg,#bcefdc 0%,#64cfac 42%,#2ba58a 100%);
  --coral-fill:linear-gradient(180deg,#ffc59c 0%,#ff966b 30%,#f27345 72%,#e46136 100%);
  font-family:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;
  color:var(--text);background:var(--paper);font-size:14px;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 15% 0,#fcf8f0,transparent 55%),#ede8dd}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:4px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2a9279}
button{
  cursor:pointer;border:1px solid #45a68b;border-radius:14px;
  background:var(--mint);color:#123f35;padding:11px 18px;font-weight:700;line-height:1.4;
  box-shadow:inset 0 2px 2px #e7fff5c9,inset 0 -2px 2px #23836952,0 3px 0 #29866f,0 5px 8px #3478621a;
  transition:transform .16s,box-shadow .16s,filter .16s;
}
button:hover{filter:brightness(1.035);transform:translateY(-1px);box-shadow:inset 0 2px 2px #effff5,inset 0 -2px 2px #23836952,0 4px 0 #29866f,0 7px 12px #34786224}
button:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #23725745,0 1px 0 #29866f}
button:disabled{opacity:.55;cursor:not-allowed;transform:none}
button.secondary,button.ghost{
  background:var(--surface);border-color:#ddd5c7;color:#38564f;
  box-shadow:inset 0 2px 2px #fff,0 3px 0 #d8d0c1,0 4px 7px #82795e17;
}
button.secondary{background:linear-gradient(150deg,#edfff5,#cbe9db);border-color:#b5d9ca;color:#176c58}
button.secondary:hover,button.ghost:hover{box-shadow:inset 0 2px 2px #fff,0 4px 0 #d4ccbd,0 6px 10px #82795e22}
button.danger{background:linear-gradient(#fff8f3,#f9dcd6);color:var(--red);border-color:#e4bcb5;box-shadow:inset 0 2px 1px #fff,0 3px 0 #d2a8a3}
button.small{padding:7px 11px;font-size:12px;border-radius:11px}
a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:3px}
h1,h2,h3,p{margin-top:0}
h1{font-size:29px;letter-spacing:-.5px;margin-bottom:8px;font-weight:800;color:var(--ink)}
h2{font-size:21px;margin-bottom:18px;color:var(--ink)}
h3{font-size:16px;margin-bottom:10px;color:var(--ink)}
.muted{color:var(--muted);line-height:1.7}
.tiny{font-size:12px}
.eyebrow{font-size:10px;letter-spacing:1.3px;font-weight:700;margin-bottom:10px;color:#566b5c}
.loading{padding:80px 20px;text-align:center;color:var(--muted)}
.ui-icon{width:23px;height:23px;flex-shrink:0;display:block}
.layout{
  display:grid;grid-template-columns:216px minmax(0,1fr);min-height:calc(100vh - 32px);
  margin:16px;border:3px solid #8bd6bd;border-radius:30px;background:var(--surface);
  box-shadow:inset 0 2px 1px #e6fff4,0 3px 0 #5ca78f,0 12px 35px #625a4224;
}
.sidebar{
  position:sticky;top:19px;height:calc(100vh - 38px);background:linear-gradient(120deg,#fcf8ef,#eae2d4);
  border-right:1px solid #ded4c3;border-radius:26px 22px 22px 26px;
  padding:24px 14px 18px;display:flex;flex-direction:column;
  box-shadow:inset 2px 2px 3px #fff,3px 0 10px #7b6f5310;
}
.brand{display:flex;align-items:center;gap:10px;padding:0 10px 22px;font-size:27px;font-weight:800;letter-spacing:1px;color:#157760;text-shadow:0 1px 0 #fff,0 2px 0 #b8d6c6}
.brand-symbol{
  width:41px;height:41px;border-radius:14px;display:grid;place-items:center;color:#fffef1;
  background:var(--mint);border:1px solid #6cc9ab;
  box-shadow:inset 0 2px 2px #e5fff1,0 3px 0 #398c75,0 6px 7px #315c4728;
}
.brand-symbol .ui-icon{width:26px;height:26px;fill:#fff8e9;stroke:#258c73}
.brand-dot,.nav-caption,.sidebar-note{display:none}
.sidebar-profile{
  display:flex;gap:10px;align-items:center;padding:13px 12px;margin-bottom:22px;
  border:1px solid #e4d9c5;border-radius:16px;background:var(--surface);box-shadow:var(--raised);
  font-size:13px;font-weight:700;color:var(--ink);
}
.sidebar-profile small{display:block;font-size:10px;color:var(--muted);font-weight:500;margin-top:5px}
.profile-icon{color:#c58b38}
.profile-icon .ui-icon{width:25px;height:25px;filter:drop-shadow(0 1px 1px #c49a583d)}
.nav{display:flex;flex-direction:column;gap:11px}
.nav button{
  background:transparent;color:#425953;text-align:left;padding:12px 13px;
  display:flex;align-items:center;gap:12px;font-weight:600;border-color:transparent;box-shadow:none;border-radius:16px;
}
.nav button:hover{background:#f9f7ef;box-shadow:inset 0 1px 2px #fff,0 2px 6px #897f6220;transform:none}
.nav button.active{
  background:var(--mint);color:#103b31;font-weight:800;border-color:#70cbb0;
  box-shadow:inset 0 2px 2px #e6fff6,inset 0 -2px 2px #16805a32,0 4px 0 #63a992,0 6px 9px #43876d26;
}
.nav-icon{
  width:26px;height:26px;display:grid;place-items:center;flex-shrink:0;color:#456058;
  filter:drop-shadow(0 1px 0 #fff);
}
.nav button.active .nav-icon{color:#fffdf3;filter:drop-shadow(0 1px 1px #0a6e5580)}
.nav button.active .ui-icon{stroke-width:2.1}
.sidebar-bottom{margin-top:auto;padding:28px 12px 0;font-size:10px;color:#576b59;line-height:1.9}
.sidebar-bottom p{margin:9px 0 0;color:#5f6d59}
.sidebar-bottom .live-dot{display:inline-block;margin-right:4px}
.workspace{min-width:0;border-radius:0 25px 25px 0;overflow:hidden}
.topbar{
  min-height:66px;padding:12px 30px;border-bottom:1px solid #e7dfd0;background:#fffdf6ba;
  display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:inset 0 2px 1px #fff;
}
.breadcrumb{font-size:12px;color:#5b6f60;display:flex;align-items:center;gap:8px}
.live-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(#a3efc6,#25a779);box-shadow:0 1px 2px #58836830}
.identity{display:flex;align-items:center;gap:10px}
.avatar{
  width:40px;height:40px;display:grid;place-items:center;background:linear-gradient(145deg,#e4fff3,#bde2d2);
  color:#227962;border:1px solid #d6e8da;border-radius:50%;font-weight:750;flex-shrink:0;
  box-shadow:inset 0 2px 3px #fff,0 2px 0 #adcbbd,0 4px 7px #726e501c;
}
.main{padding:27px 30px 42px;max-width:1700px;margin:auto}
.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:23px}
.heading p{margin:0;font-size:12px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.month-control{
  padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid #ded4c5;color:var(--ink);
  min-height:42px;box-shadow:inset 0 2px 2px #fff,0 3px 6px #93846718;max-width:100%;
}
.trial-banner{padding:7px 30px;background:#f9edd8;color:#8a6232;font-size:10px;border-bottom:1px solid #eeddbe;line-height:1.7}
.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:26px;align-items:stretch}
.hero{
  background:linear-gradient(135deg,#ecf6eb,#e7eee0);color:var(--ink);padding:25px;
  border-radius:var(--radius);position:relative;min-width:0;border:1px solid #d5e4ce;
  box-shadow:inset 0 2px 2px #fff,0 5px 10px #6d7c5317,0 1px 2px #8a977126;
}
.hero-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.hero .eyebrow{color:#496650;letter-spacing:.5px;margin:0;font-size:11px}
.hero .tag{background:linear-gradient(#fcfff8,#dfead9);color:#476b57;border-color:#d9e3d1;box-shadow:inset 0 1px 1px #fff}
.hero-value{display:flex;align-items:center;gap:20px;margin:22px 0}
.hero-icon{
  display:grid;place-items:center;width:66px;height:72px;border-radius:22px;background:var(--coral-fill);
  color:#fff9e7;flex-shrink:0;border:1px solid #f39a75;
  box-shadow:inset 0 2px 2px #ffead0,0 4px 0 #d88863,0 6px 10px #98634727;
}
.hero-icon .ui-icon{width:39px;height:39px;stroke-width:2.8;filter:drop-shadow(0 2px 1px #b96c4975)}
.hero-number{font-size:66px;line-height:1.1;font-weight:800;letter-spacing:-2.5px;color:var(--coral);font-variant-numeric:tabular-nums;text-shadow:0 1px 1px #fff}
.hero-number small{font-size:15px;font-weight:700;letter-spacing:0;color:#c7643d;margin-left:8px;white-space:nowrap}
.hero-splits{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.hero-splits>div{padding:13px 15px;background:var(--surface);border:1px solid #e1ded0;border-radius:16px;box-shadow:var(--raised)}
.hero-splits span{color:#596d65;font-size:10px;display:flex;gap:7px;align-items:center}
.hero-splits strong{display:block;font-size:24px;color:#cc5935;margin-top:8px;line-height:1.2;font-variant-numeric:tabular-nums}
.hero-splits strong small{font-size:12px;font-weight:600}
.hero-splits .pending-split strong{color:#2783a5}
.hero-splits i{display:inline-block;width:9px;height:9px;flex-shrink:0;border-radius:50%;background:var(--coral-fill);box-shadow:0 1px 2px #a77b514d}
.hero-splits .pending-split i{background:linear-gradient(#b6e6fa,#258bb5)}
.hero-caption{color:#526748;font-size:10px;line-height:1.8;margin-top:18px;border-top:1px solid #d1dfcb;padding-top:12px}
.admin-hero{grid-template-columns:minmax(0,1fr)}
.admin-hero .hero{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:12px 28px;padding:22px 25px}
.admin-hero .hero-top{grid-column:1/-1}
.admin-hero .hero-value{margin:4px 0 0}
.admin-hero .hero-splits{align-self:center}
.admin-hero .hero-caption{grid-column:1/-1;margin-top:0;padding-top:10px}
.admin-hero .hero-caption br{display:none}
.salary-panel{
  background:var(--surface);padding:24px 26px;border:1px solid #e3dacb;border-radius:var(--radius);min-width:0;box-shadow:var(--raised);
}
.salary-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:750;font-size:17px;margin-bottom:18px;color:var(--ink)}
.salary-heading>span:first-child{display:flex;align-items:center;gap:8px}
.salary-heading .ui-icon{color:#a78146;width:22px;height:22px}
.salary-heading .tag{font-weight:500;font-size:10px;background:#f5eddc;color:#715b37;border-color:#e9ddc4}
.salary-values{display:flex;align-items:end;justify-content:space-between;gap:16px}
.tier-amount{font-size:32px;letter-spacing:-.8px;display:block;line-height:1.3;color:var(--coral);font-variant-numeric:tabular-nums}
.salary-confirmed{padding-bottom:4px;color:#526b5c;white-space:nowrap;font-size:11px}
.salary-confirmed strong{font-size:24px;color:#24594a}
.tier-summary{font-size:13px;color:#5d6859;margin:10px 0 0;line-height:1.8}
.tier-summary strong{color:#b34224;font-weight:750}
.tier-track{position:relative;margin-top:13px}
.tier-track.with-buddy{margin-top:72px}
.tier-progress{
  display:block;width:100%;height:23px;border:1px solid #dbd2c3;border-radius:30px;overflow:hidden;
  background:#dcd9d0;appearance:none;-webkit-appearance:none;color:#ee8356;
  box-shadow:inset 0 3px 5px #7e73694d,inset 0 -2px 2px #fff;
}
.tier-progress::-webkit-progress-bar{background:linear-gradient(#d6d6ce,#e5e4dd);border-radius:30px;box-shadow:inset 0 3px 5px #7e736942,inset 0 -2px 2px #fff}
.tier-progress::-webkit-progress-value{
  background:var(--coral-fill);border-radius:30px;border:1px solid #e7976f;
  box-shadow:inset 0 2px 2px #ffebd2,inset 0 -2px 1px #d5673d70,1px 0 3px #a566436b;transition:width .6s ease;
}
.tier-progress::-moz-progress-bar{background:var(--coral-fill);border-radius:30px;box-shadow:inset 0 2px 2px #ffebd2,inset 0 -2px 1px #d5673d70}
.tier-track-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#5c6b5d;margin-top:9px}
.tier-track-label strong{font-size:18px;color:#1c6953;font-variant-numeric:tabular-nums}
.buddy-marker{position:absolute;bottom:13px;left:48px;transform:translateX(-50%);width:96px;height:81px;z-index:1}
button.typing-buddy{width:96px;height:81px;display:block;padding:0;margin:0;border:0;background:transparent;border-radius:16px;box-shadow:none;filter:none}
button.typing-buddy:hover{transform:none}
button.typing-buddy:active{transform:none}
.typing-buddy svg{display:block;width:100%;height:100%;overflow:visible}
.typing-person{transform-origin:70px 95px}
.typing-arm{transform-box:fill-box;transform-origin:10% 20%;animation:typing .85s ease-in-out infinite alternate}
.right-arm{animation-delay:-.45s}
.typing-sparks{opacity:0}
.typing-buddy:hover .typing-arm,.typing-buddy:focus-visible .typing-arm,.typing-buddy.is-busy .typing-arm{animation-duration:.09s}
.typing-buddy:hover .typing-person,.typing-buddy:focus-visible .typing-person,.typing-buddy.is-busy .typing-person{animation:typing-bounce .18s linear infinite alternate}
.typing-buddy:hover .typing-sparks,.typing-buddy:focus-visible .typing-sparks,.typing-buddy.is-busy .typing-sparks{animation:typing-spark .18s ease-in-out infinite alternate}
.buddy-hint{position:absolute;right:0;top:-18px;white-space:nowrap;font-size:10px;color:#576f59;opacity:0;transition:opacity .2s;pointer-events:none;background:#fcfff4;border:1px solid #dbe7cd;border-radius:8px;padding:4px 8px;box-shadow:0 2px 5px #76724f15}
.buddy-marker:hover .buddy-hint,.buddy-marker:focus-within .buddy-hint{opacity:1}
@keyframes typing{from{transform:rotate(-3deg) translateY(0)}to{transform:rotate(3deg) translateY(-2px)}}
@keyframes typing-bounce{from{transform:translateY(0) rotate(0)}to{transform:translateY(-2px) rotate(-1deg)}}
@keyframes typing-spark{from{opacity:.3;transform:translateY(0)}to{opacity:1;transform:translateY(-2px)}}
.tier-milestones{display:grid;grid-template-columns:repeat(auto-fit,minmax(75px,1fr));gap:8px;margin-top:14px}
.tier-chip{
  background:linear-gradient(150deg,#faf8f1,#e9e4da);border:1px solid #e0d7c8;border-radius:13px;padding:10px 8px;
  color:#55695b;display:flex;flex-direction:column;gap:5px;font-size:10px;box-shadow:inset 0 2px 2px #fff,0 2px 4px #84755617;
}
.tier-chip strong{font-size:13px;font-weight:650;color:#334d45}
.tier-chip.reached{background:linear-gradient(150deg,#e4f9e6,#c4e6cd);border-color:#bcd9bb;color:#3d7954}
.tier-chip.reached strong{color:#216441}
.salary-footnote{font-size:10px;color:#5e6c5c;line-height:1.8;margin:12px 0 0}
.staff-section{margin-bottom:25px}
.staff-section .section-head{margin:8px 0 17px}
.staff-section .eyebrow{margin-bottom:7px;color:#57705c}
.staff-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;max-height:520px;overflow-y:auto;padding:3px 5px 5px 2px;scrollbar-width:thin;scrollbar-color:#a4c7b2 #ece8dc;overscroll-behavior:contain}
.staff-card{position:relative;padding:12px 72px 12px 14px;border:1px solid #e1d7c6;background:var(--surface);border-radius:14px;box-shadow:inset 0 2px 1px #fff,0 2px 0 #ded6c7,0 3px 5px #7e735215;display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;column-gap:16px;min-width:0}
.staff-head{display:flex;align-items:center;justify-content:space-between;gap:10px;order:0}
.staff-person{display:flex;gap:10px;align-items:center;min-width:0}
.staff-person strong{font-size:16px;line-height:1.35;display:block;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.staff-name{min-width:0}
.staff-person span{color:#41564a;font-size:12px;line-height:1.4;display:block;margin-top:3px}
.staff-person .avatar{width:36px;height:36px;font-size:16px;flex-shrink:0}
.staff-count{font-size:12px;color:#41564a;font-weight:600;white-space:nowrap;margin-left:8px}
.staff-controls{display:flex;gap:9px;flex-wrap:wrap}
.staff-controls input,.staff-controls select{min-height:39px;padding:8px 11px;font-size:13px;border-radius:11px;color:#273e48}
.staff-controls input{width:190px}.staff-controls select{width:157px}
.staff-controls input::placeholder{color:#526657;opacity:1}
.staff-list-caption{font-size:12px;color:#41564a;margin:-3px 0 10px}
.staff-card:nth-child(3n+2) .avatar{background:linear-gradient(145deg,#ffe7d4,#f0b992);border-color:#e8c6ab;color:#8b4b2c;box-shadow:inset 0 2px 2px #fff,0 2px 0 #d7ac87,0 4px 7px #726e501c}
.staff-card:nth-child(3n) .avatar{background:linear-gradient(145deg,#d9f4ff,#b9d7e1);border-color:#c8dfe4;color:#32677d;box-shadow:inset 0 2px 2px #fff,0 2px 0 #a8c5cd,0 4px 7px #726e501c}
.staff-head .tag{font-size:9px;background:#f0ecdf;color:#52644f;white-space:normal;text-align:center;max-width:85px}
.salary-panel.compact{padding:16px 0 0;border:0;border-radius:0;box-shadow:none;background:transparent;order:2}
.compact .salary-heading{font-size:10px;color:#5c6c59;margin:0 0 7px;font-weight:600}
.compact .tier-amount{font-size:25px}
.compact .salary-confirmed strong{font-size:19px}
.compact .salary-confirmed{font-size:10px}
.compact .tier-summary{font-size:11px;margin:8px 0}
.compact .tier-progress{height:17px}
.compact .salary-footnote{margin-top:10px}
.staff-breakdown{display:flex;gap:13px;padding-top:13px;margin-top:13px;border-top:1px solid #e9e0d2;font-size:11px;color:#617065;order:1}
.staff-breakdown b{color:#a94824;font-weight:750;margin-left:3px}
.staff-breakdown span+span b{color:#246985}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:25px}
.metric{
  padding:21px 20px 19px 82px;border:1px solid #e1d7c7;background:var(--surface);
  border-radius:21px;position:relative;box-shadow:var(--raised);min-width:0;
}
.metric .number{font-size:29px;margin:7px 0 3px;font-weight:800;font-variant-numeric:tabular-nums;color:#1c8068;line-height:1.2}
.metric:nth-child(2) .number{color:#cc653d}
.metric:nth-child(3) .number{color:#2f8aac}
.metric .muted:not(.tiny){font-size:10px}
.metric-icon{
  position:absolute;top:28px;left:18px;width:48px;height:52px;display:grid;place-items:center;
  border-radius:16px;border:1px solid #b6ded0;box-shadow:inset 0 2px 2px #eafff7,0 3px 0 #77b8a2,0 5px 7px #746b531e;
}
.metric-icon .ui-icon{width:28px;height:28px;stroke-width:2.4;filter:drop-shadow(0 1px 1px #477f6440)}
.metric-icon.violet{background:var(--mint);color:#fcfff7}
.metric-icon.coral{background:var(--coral-fill);color:#fffcf2;border-color:#f1b396;box-shadow:inset 0 2px 2px #ffe7cb,0 3px 0 #d9946f,0 5px 7px #746b531e}
.metric-icon.yellow{background:linear-gradient(#bceafa,#76c5e5,#4c9fcb);color:#f7fdff;border-color:#b3d6e6;box-shadow:inset 0 2px 2px #e8faff,0 3px 0 #78adc5,0 5px 7px #746b531e}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:26px 0 16px}
.section-head h2,.section-head h3{margin:0}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.card{padding:23px;background:var(--surface);border:1px solid #e1d7c7;border-radius:var(--radius);box-shadow:var(--raised);min-width:0}
.card-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:15px}
.tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tag{display:inline-block;border-radius:8px;padding:5px 8px;font-size:11px;white-space:nowrap;background:#edeae0;color:#657467;border:1px solid #e0dbcf;box-shadow:inset 0 1px 1px #ffffffb0}
.tag.green{background:linear-gradient(#e4f7e9,#cce7d5);border-color:#bcdac2;color:#246b47}
.tag.yellow{background:linear-gradient(#fff3dc,#f4e1b7);border-color:#e4d1a4;color:var(--yellow)}
.tag.red{background:linear-gradient(#ffe9dd,#f6d2c0);border-color:#e9bcab;color:#923b28}
.tag.dark{background:linear-gradient(#eaf5eb,#dce9d8);border-color:#cbdcc4;color:#3b654b}
.card-name{font-size:18px;font-weight:750;margin-bottom:10px;color:var(--ink)}
.card-meta{font-size:12px;color:var(--muted);line-height:1.9}
.project-stat{display:flex;gap:26px;border-top:1px solid #e3dacb;padding-top:16px;margin-top:17px}
.project-stat span{font-size:11px;color:var(--muted)}
.project-stat strong{display:block;font-size:23px;margin-top:5px;color:#246d55}
.project-stat>div:nth-child(2) strong{color:#3988a2}
.project-actions{display:flex;gap:9px;margin-top:20px;flex-wrap:wrap}
.notice{border-radius:15px;background:linear-gradient(140deg,#f2f9ed,#e5efdc);border:1px solid #cedcc1;padding:14px 17px;font-size:13px;line-height:1.8;margin:15px 0;color:#476844;box-shadow:inset 0 1px 2px #fff}
.notice.warn{background:linear-gradient(140deg,#fff7e4,#f4e8cd);border-color:#e5d3ab;color:#825f27}
.notice.error{background:linear-gradient(#fff4ef,#fae0d9);border-color:#e6bfb4;color:var(--red)}
.empty{padding:36px;text-align:center;background:var(--surface);border:1px dashed #cec5b3;border-radius:19px;color:var(--muted);line-height:1.8}
.table-wrap{overflow:auto;border:1px solid #ded6c7;border-radius:18px;background:#fffdf7;margin-bottom:18px;box-shadow:inset 0 1px 2px #fff,0 3px 6px #84765612}
table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}
th{text-align:left;font-size:11px;color:#54634f;background:#e9ecdf;font-weight:650;padding:14px 15px}
td{padding:15px;border-top:1px solid #e5dfd2;vertical-align:middle}
tbody tr:hover{background:#f1f7e9}
td.wrap{white-space:normal;min-width:170px;max-width:400px;line-height:1.7}
td .toolbar{flex-wrap:nowrap}
details{margin:15px 0}
summary{cursor:pointer;color:#257359;font-weight:650;padding:15px 0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field label{font-size:12px;font-weight:650;color:#5f7162}
.field input,.field select,.field textarea{
  width:100%;border:1px solid #d3d5c4;border-radius:13px;padding:11px 12px;background:#fffdf6;
  color:var(--text);min-height:43px;box-shadow:inset 0 2px 4px #736f4314,0 1px 1px #fff;
}
.field textarea{min-height:80px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#52ac8b;outline:3px solid #d9eddd}
.field input[readonly]{background:#ececdf;color:#687766}
.full{grid-column:1/-1}
.checkbox{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.7}
.checkbox input{width:17px;height:17px;accent-color:var(--purple);flex-shrink:0}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.row-input{width:115px;border:1px solid #d9d4c4;border-radius:10px;padding:9px;background:#fffef8;box-shadow:inset 0 2px 3px #827c5312}
.member-input td{padding:10px}
.auth-layout{
  display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 48px);max-width:1320px;margin:24px auto;
  background:var(--surface);border:3px solid #9edbc4;border-radius:32px;overflow:hidden;
  box-shadow:inset 0 2px 2px #fff,0 4px 0 #66ad90,0 15px 40px #6d614b20;
}
.auth-art{background:linear-gradient(145deg,#e4f4de,#d1e6d2);color:#2d6652;padding:7vh 6vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;border-right:1px solid #d4e0c9;box-shadow:inset 0 3px 3px #fff}
.auth-art:after{content:"✦";position:absolute;right:7%;top:15%;font-size:90px;color:#98cab0;transform:rotate(15deg);text-shadow:0 3px 0 #80b398,0 5px 10px #57896930}
.auth-art .brand{padding:0;margin-bottom:55px}
.auth-art .brand-symbol{font-size:20px}
.auth-art h1{font-size:38px;font-weight:750;line-height:1.55;margin-bottom:20px;color:#235641;z-index:1}
.auth-art p{color:#48654c;font-size:14px;line-height:2}
.auth-art .lines{height:150px;display:flex;align-items:center;gap:20px;margin-top:28px;padding-left:5px}
.lines i{display:block;position:relative;background:var(--mint);width:76px;height:80px;border-radius:23px;border:1px solid #8bd4b7;box-shadow:inset 0 3px 3px #eaffef,0 7px 0 #7bbda0,0 12px 12px #4f76562d;transform:rotate(-7deg)}
.lines i:before{content:"▶";display:grid;place-items:center;height:100%;font-style:normal;color:#fff7e7;font-size:36px;text-shadow:0 2px 2px #4a927353}
.lines i:nth-child(2){background:var(--coral-fill);border-color:#efa885;box-shadow:inset 0 3px 3px #ffecd4,0 7px 0 #cf986f,0 12px 12px #4f76562d;transform:rotate(8deg) translateY(14px)}
.lines i:nth-child(2):before{content:"✂"}
.lines i:nth-child(3){background:linear-gradient(#b9e6f2,#81c3df,#599fc1);border-color:#a7d0df;box-shadow:inset 0 3px 3px #e8faff,0 7px 0 #77a8b8,0 12px 12px #4f76562d;transform:rotate(-9deg) translateY(-5px)}
.lines i:nth-child(3):before{content:"✦"}
.lines i:nth-child(4){display:none}
.auth-panel{padding:45px;display:flex;flex-direction:column;justify-content:center;max-width:530px;margin:auto;width:100%}
.auth-panel h2{font-size:27px}
.auth-panel form{display:flex;flex-direction:column;gap:18px}
.auth-panel .switch{margin-top:20px;display:flex;justify-content:space-between;gap:10px;font-size:13px;align-items:center}
.auth-panel .trial-creds{margin-top:28px;border-top:1px solid var(--line);padding-top:20px;font-size:12px;color:var(--muted);line-height:1.9}
.auth-panel .trial-creds button{margin:6px 4px 6px 0}
.auth-feedback{color:var(--red);font-size:13px;line-height:1.8;min-height:0}
.tabs{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}
.tabs button{background:var(--surface);color:#587962;border-color:#dbd9c9;box-shadow:var(--raised)}
.tabs button.active{background:var(--mint);color:#1c5440;border-color:#8bc6a6}
.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.compare-item{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--raised)}
.compare-item.green{border-color:#b7d8b7;background:linear-gradient(145deg,#f2fff0,#d9ecd6);color:#277146}
.compare-item.yellow{border-color:#e2d09f;background:linear-gradient(145deg,#fff9e8,#f1e3be);color:#805b21}
.compare-item.red{border-color:#e0afa2;background:linear-gradient(145deg,#fff5ec,#f7ddd3);color:#aa3b32}
.compare-item strong{font-size:24px;display:block;margin:10px 0}
.json-diff{white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.7;background:#edeedf;border-radius:12px;padding:13px;max-height:240px;overflow:auto}
dialog{
  border:2px solid #c9dcc6;padding:0;border-radius:26px;max-width:930px;width:calc(100% - 40px);
  box-shadow:inset 0 2px 2px #fff,0 6px 0 #b8c9af,0 24px 90px #303b3660;color:var(--text);background:#faf7ee;
}
dialog::backdrop{background:#273b325e;backdrop-filter:blur(4px)}
.modal-head{padding:25px 28px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}
.modal-head h2{margin:0}
.modal-body{padding:22px 28px 28px;max-height:82vh;overflow:auto}
button.close{padding:6px 11px;background:var(--surface);border-color:#dbd3c2;color:#6b795e;font-size:18px;box-shadow:var(--raised)}
.form-error{color:var(--red);font-size:13px;line-height:1.7;margin:12px 0}
#toast{position:fixed;bottom:27px;left:50%;transform:translateX(-50%);max-width:90vw;background:#276e54;color:#fff;box-shadow:0 5px 24px #0002;padding:13px 22px;border-radius:15px;display:none;z-index:100}
#toast.error{background:#a8443d}
.footer-note{margin-top:30px;text-align:center;font-size:10px;color:#5d6e54;line-height:1.8}
.mobile-brand{display:none}
.login-name{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.tier-settings{margin-bottom:24px}
.tier-settings .table-wrap{margin-top:10px}
.tier-settings .checkbox{color:#5c7560;font-size:12px}
.production-panel{display:grid;grid-template-columns:110px 200px minmax(0,1fr);gap:16px;align-items:center;min-width:0;padding:0}
.production-value{display:flex;align-items:baseline;gap:5px;margin:0;color:#165b43;font-variant-numeric:tabular-nums;flex-wrap:wrap}
.production-value strong{font-size:26px;font-weight:800;letter-spacing:-.5px;line-height:1.15}
.production-value>span{font-size:12px;font-weight:650}
.production-counters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;min-width:0}
.production-counters>div{padding:0;border:0;background:none;box-shadow:none;min-width:0}
.production-counters span{display:flex;align-items:center;gap:5px;font-size:12px;line-height:1.4;color:#41564a;font-weight:600}
.production-counters strong{display:block;font-size:20px;line-height:1.2;margin-top:4px;color:#165b43;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.production-counters small{font-size:12px;font-weight:600}
.production-counters i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);flex-shrink:0}
.production-counters .pending strong{color:#175873}
.production-counters .pending i{background:linear-gradient(#c4e9f3,#4198bd)}
.production-comparison{min-width:0}
.production-track{display:flex;width:100%;height:14px;overflow:hidden;border-radius:20px;margin:0;border:1px solid #c2c9be;background:linear-gradient(#d7d8cd,#e7e7dd);box-shadow:inset 0 3px 4px #79766433,inset 0 -1px 1px #fff}
.production-track>span{display:block;height:100%;flex-shrink:0;transition:width .4s ease}
.production-confirmed{background:var(--mint);box-shadow:inset 0 2px 1px #dffff0,inset 0 -2px 1px #2c91706b}
.production-pending{background:linear-gradient(#bde9f3,#78c4df,#4198bd);box-shadow:inset 0 2px 1px #edffff,inset 0 -2px 1px #518faf6b}
.production-axis{display:flex;justify-content:space-between;font-size:12px;color:#41564a;margin-top:5px;gap:8px}
.staff-duration-details{grid-column:1/-1;margin:0;border:0}
.staff-duration-details:not([open]) dl{display:none}
.staff-duration-details summary{position:absolute;right:14px;top:26px;padding:0;font-size:12px;color:#2d5641;cursor:pointer}
.staff-duration-details dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:12px -48px 0 0;padding:12px 0 0;border-top:1px dashed #d9d5c4}
.staff-duration-details dl>div{display:block;font-size:12px;min-width:0}
.staff-duration-details dt{color:#41564a}
.staff-duration-details dd{margin:6px 0 0;color:#264f3d;font-size:15px;font-weight:700;overflow-wrap:anywhere}
.project-groups{display:grid;gap:23px}
.employee-projects{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}
.employee-projects .cards{gap:16px;align-items:stretch}
.employee-projects .card{padding:20px;display:flex;flex-direction:column}
.employee-projects .card-name{overflow-wrap:anywhere}
.employee-projects .project-actions{margin-top:auto;padding-top:20px}
.project-group{padding:18px;border:1px solid #d6deca;border-left:4px solid #79c6a0;border-radius:22px;background:linear-gradient(135deg,#f1f8eb,#e8f0df)}
.project-group.completed{border-color:#d9dfd9;border-left-color:#97b3bb;background:linear-gradient(135deg,#f2f5f0,#e7edeb)}
.project-group-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}
.project-group-heading h3{display:flex;align-items:center;gap:8px;margin:0;font-size:17px}
.project-group-heading .ui-icon{color:#2b8967;width:21px;height:21px}
.project-group.completed .project-group-heading .ui-icon{color:#427b90}
.group-count{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;background:#fffdf3;border:1px solid #d4dec8;border-radius:9px;color:#576a4e;font-size:11px;box-shadow:inset 0 1px 1px #fff}
.project-group .empty{padding:21px;background:#fffdf475}
.project-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.project-filters{margin:0}
.project-filters button{font-size:12px;padding:9px 14px}
.quick-report-button{white-space:nowrap;min-height:43px}
.quick-project-list{display:grid;gap:13px}
.quick-report-date{font-size:12px;color:#5c715f;margin:0 0 16px}
.quick-project-option{display:flex;align-items:center;gap:12px;text-align:left;padding:15px 17px;border:1px solid #ddd6c7;border-radius:15px;background:var(--surface);box-shadow:inset 0 2px 1px #fff,0 2px 0 #dfd8ca;cursor:pointer;min-width:0}
.quick-project-option:has(input:checked){border-color:#82c4a8;background:linear-gradient(145deg,#edf9e9,#dfeedd)}
.quick-project-option input{width:20px;height:20px;accent-color:#248b68;flex-shrink:0}
.quick-project-option>span:first-of-type{flex:1;min-width:0}
.quick-project-option strong{display:block;color:var(--ink);font-size:15px}
.quick-project-option small{display:block;color:#576f5b;font-size:11px;margin-top:7px}
.quick-project-option strong{overflow-wrap:anywhere}
.quick-report-hint{font-size:12px;color:#5c715f;margin:16px 0}
.quick-selection-actions{position:sticky;bottom:-28px;padding:15px 0 5px;background:#faf7ee}
.multi-report-top{display:flex;align-items:center;gap:25px;margin-bottom:18px}
.multi-report-top .field{width:180px;flex-shrink:0}.multi-report-top p{font-size:12px;color:#476c52;margin:0;line-height:1.9}
.multi-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-bottom:20px}
.multi-project-report{padding:18px;border:1px solid #d6decb;border-radius:18px;background:linear-gradient(145deg,#fffef8,#f2eedf);box-shadow:inset 0 2px 1px #fff,0 3px 0 #e1dacb;min-width:0}
.multi-project-report header{margin-bottom:18px}
.multi-project-report h3{margin:0 0 10px;font-size:17px;line-height:1.6;overflow-wrap:anywhere}
.multi-project-report h4{font-size:13px;margin:20px 0 10px;color:#476844}
.multi-project-report .form-grid{gap:13px}
.multi-project-report .field label{font-size:11px}.multi-project-report .field input,.multi-project-report .field textarea{font-size:12px;padding:10px;min-width:0}
.multi-project-report .field textarea{min-height:57px}
.multi-project-report .table-wrap{margin-bottom:0;border-radius:13px}
.multi-project-report th,.multi-project-report td{padding:10px 9px;font-size:11px}
.multi-project-report .row-input{width:100%;min-width:75px;max-width:130px;font-size:12px;padding:9px}
.multi-project-report .table-wrap input[type=checkbox]{width:17px;height:17px;accent-color:#248b68}
.multi-report-actions{position:sticky;bottom:-28px;margin-top:20px;padding:14px 0 5px;background:#faf7ee;z-index:1;border-top:1px solid #e2dccb}
@media(min-width:1650px){
  .main{padding:30px 36px 48px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-hero .hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding:25px 30px}
}
@media(max-width:1250px){
  .layout{grid-template-columns:188px minmax(0,1fr);margin:12px}
  .sidebar{padding:22px 11px;top:15px;height:calc(100vh - 30px)}
  .brand{font-size:24px;gap:8px;padding-left:5px}.brand-symbol{width:36px;height:36px}
  .nav button{gap:9px;padding:12px 10px}.sidebar-profile{padding:12px 10px}
  .main{padding:24px}.topbar{padding:12px 24px}.trial-banner{padding-left:24px}
  .hero{padding:23px}.hero-number{font-size:56px}.hero-icon{width:54px;height:60px;border-radius:18px}
  .hero-value{gap:14px}.hero-splits{gap:10px}.hero-splits>div{padding:12px}.hero-splits strong{font-size:22px}
  .salary-panel{padding:23px}.salary-heading{font-size:15px;flex-wrap:wrap;gap:8px}
  .salary-values{gap:9px}.tier-amount{font-size:29px}.salary-confirmed strong{font-size:22px}
  .metrics{gap:12px}.metric{padding:18px 16px 16px 65px}.metric-icon{width:37px;height:43px;left:14px;top:25px;border-radius:13px}
  .metric-icon .ui-icon{width:25px;height:25px}.metric .number{font-size:26px}
  .auth-art{padding:45px}.auth-art h1{font-size:33px}
}
@media(max-width:1050px) and (min-width:721px){
  .dashboard-hero{grid-template-columns:1fr}.salary-panel:not(.compact){display:block}
  .hero-value{margin:17px 0}.hero-number{font-size:61px}
  .salary-heading{flex-wrap:nowrap}.hero-caption{margin-top:15px}
  .admin-hero .hero{grid-template-columns:1fr}.admin-hero .hero-caption br{display:block}
  .admin-hero .hero-splits{grid-column:1/-1}
  .cards{grid-template-columns:1fr}
  .compact .salary-values{align-items:flex-start;flex-wrap:wrap}
  .metrics .metric{padding:17px}.metric-icon{display:none}
  .tier-track.with-buddy{margin-top:65px}
}
@media(max-width:720px){
  body{background:#f4efe5}
  .layout{display:block;margin:7px;border:2px solid #a1dac0;border-radius:22px;min-height:calc(100vh - 14px);box-shadow:0 3px 0 #75b495,0 8px 15px #80725013}
  .sidebar{position:sticky;top:0;height:auto;width:100%;z-index:10;padding:10px 9px;background:#f9f6ec;border-radius:19px 19px 0 0;box-shadow:inset 0 2px 2px #fff,0 2px 5px #90836112;border-bottom:1px solid #e6decb;border-right:0}
  .brand,.sidebar-profile,.nav-caption,.sidebar-bottom{display:none}
  .nav{flex-direction:row;overflow:auto;gap:7px;padding:0 0 5px;scrollbar-width:thin;scrollbar-color:#c9d9be transparent}
  .nav button{padding:9px 12px;flex:none;font-size:12px;border-radius:11px;gap:6px;white-space:nowrap}
  .nav button .nav-icon{display:none}
  .nav button.active{box-shadow:inset 0 2px 2px #e6fff6,0 3px 0 #72b49a}
  .workspace{overflow:hidden;border-radius:0 0 19px 19px}
  .topbar{min-height:61px;padding:11px 14px}.breadcrumb{display:none}
  .mobile-brand{display:flex;align-items:center;gap:5px;font-weight:800;font-size:16px;white-space:nowrap;color:#217c60}
  .mobile-brand .ui-icon{width:20px;height:20px;fill:#82d6ae;stroke:#29936c;filter:drop-shadow(0 1px 1px #77a38145)}
  .identity{gap:7px}.identity .avatar{display:none}.identity .role-label{display:none}
  .identity button{padding:6px 7px;font-size:10px;border-radius:10px}.login-name{max-width:56px;font-size:11px}
  .main{padding:21px 14px 32px}
  .heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:18px}
  .heading .eyebrow{display:none}h1{font-size:23px}h2{font-size:18px}
  .heading p{font-size:11px;line-height:1.8}.heading .toolbar{width:auto;justify-content:flex-end;max-width:133px}
  .heading.with-quick-report{grid-template-columns:minmax(0,1fr)}
  .heading.with-quick-report .toolbar{max-width:none;width:100%;justify-content:space-between;flex-wrap:nowrap}
  .heading.with-quick-report .quick-report-button{flex:1;font-size:12px}
  .heading.with-quick-report .month-control{width:120px;flex-shrink:0}
  .project-group{padding:13px;border-radius:19px}
  .project-group-heading h3{font-size:16px}
  .project-group-heading>.tiny{font-size:9px}
  .employee-projects .cards{grid-template-columns:1fr}
  .multi-report-grid{grid-template-columns:1fr;gap:15px}
  .multi-report-top{display:block}.multi-report-top .field{width:100%}.multi-report-top p{margin-top:13px;font-size:11px}
  .multi-project-report{padding:14px;border-radius:16px}.multi-project-report h3{font-size:16px}
  .multi-project-report .form-grid{grid-template-columns:1fr}
  .quick-project-option{padding:13px;gap:10px}.quick-project-option strong{font-size:13px}.quick-project-option small{font-size:10px}
  .quick-project-option .tag{font-size:9px;padding:5px}
  .quick-selection-actions,.multi-report-actions{bottom:-19px;gap:9px;padding-top:13px}
  .quick-selection-actions [type=submit]{flex:2;font-size:13px;white-space:nowrap}
  .multi-report-actions button{font-size:13px;white-space:nowrap}
  .project-controls{gap:16px;align-items:stretch}
  .project-controls .month-control{width:100%}
  .project-filters{display:grid;grid-template-columns:repeat(3,1fr);width:100%}
  .project-filters button{padding:9px 8px;font-size:11px}
  .month-control{padding:9px 8px;font-size:11px;border-radius:12px;min-height:39px}
  .dashboard-hero,.admin-hero{grid-template-columns:1fr;gap:16px;margin-bottom:25px}
  .hero,.admin-hero .hero{padding:20px;display:block;border-radius:21px}
  .hero-top{align-items:center;gap:8px}.hero .tag{font-size:9px;padding:5px 6px}
  .hero .eyebrow{font-size:9px;line-height:1.7;letter-spacing:0}
  .hero-value,.admin-hero .hero-value{margin:17px 0}
  .hero-icon{width:48px;height:54px;border-radius:17px}
  .hero-icon .ui-icon{width:29px;height:29px}
  .hero-number{font-size:52px;letter-spacing:-2px}
  .hero-number small{margin-left:6px;font-size:12px}
  .hero-splits{gap:10px}.hero-splits>div{padding:11px 12px;border-radius:13px}
  .hero-splits span{font-size:9px;gap:5px}
  .hero-splits strong{font-size:22px;margin-top:7px}.hero-splits strong small{font-size:10px}
  .hero-caption,.admin-hero .hero-caption{font-size:9px;margin-top:15px;padding-top:11px;line-height:1.9}
  .admin-hero .hero-caption br{display:block}
  .salary-panel{padding:20px;border-radius:21px}
  .salary-heading{font-size:16px;flex-wrap:nowrap;margin-bottom:16px}
  .salary-heading .ui-icon{width:20px;height:20px}
  .salary-heading .tag{font-size:8px;padding:5px 6px}
  .tier-amount{font-size:31px}.salary-confirmed strong{font-size:23px}
  .tier-summary{font-size:12px}.tier-track.with-buddy{margin-top:65px}
  .tier-milestones{gap:6px;grid-template-columns:repeat(auto-fit,minmax(58px,1fr))}
  .tier-chip{padding:9px 6px;font-size:9px;border-radius:11px}.tier-chip strong{font-size:11px}
  .tier-track-label{margin-top:7px}.tier-track-label strong{font-size:17px}
  .salary-footnote{font-size:9px}
  .staff-section .section-head{align-items:flex-start;flex-wrap:wrap;gap:13px}
  .staff-section .eyebrow{font-size:9px;letter-spacing:.7px}
  .metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .metric{padding:15px 8px 13px;text-align:center;border-radius:16px}
  .metric-icon{display:grid;position:static;margin:0 auto 12px;width:33px;height:36px;border-radius:12px}
  .metric-icon .ui-icon{width:22px;height:22px}
  .metric .number{font-size:24px;margin:8px 0 4px}
  .metric .muted{font-size:9px!important}
  .cards{grid-template-columns:1fr}
  .card{padding:20px;border-radius:20px}
  .card-name{font-size:17px}.project-stat strong{font-size:22px}
  .trial-banner{font-size:8px;padding:7px 14px;line-height:1.8}
  .form-grid{grid-template-columns:1fr}.compare{grid-template-columns:1fr}
  .auth-layout{display:block;margin:12px;min-height:calc(100vh - 24px);border-radius:24px}
  .auth-art{padding:28px 26px;border-right:0;border-bottom:1px solid #d6e1ca}
  .auth-art:after{font-size:65px;right:6%;top:24%}
  .auth-art .brand{display:flex;margin-bottom:23px;font-size:23px}
  .auth-art h1{font-size:25px;margin-bottom:8px}
  .auth-art p{font-size:12px;margin:0}.auth-art .lines{display:none}
  .auth-panel{padding:30px 25px}.auth-panel h2{font-size:23px}.auth-panel .trial-creds{margin-top:25px}
  dialog{width:calc(100% - 18px);border-radius:20px}.modal-head{padding:20px 19px 0}.modal-body{padding:19px;max-height:80vh}
  td,th{padding:12px;font-size:12px}
  .form-actions{justify-content:stretch}.form-actions button{flex:1}
  .report-actions{flex-wrap:wrap}.report-actions button{font-size:12px;white-space:nowrap}.report-actions [value="continue"]{flex-basis:100%}
  .notice{font-size:12px;padding:12px 14px}
  .toolbar{gap:8px}.tabs{gap:8px}.tabs button{padding:9px 12px;font-size:12px}
  .footer-note{font-size:9px}
}
@media(max-width:1100px){
  .staff-card{padding:11px 12px;border-radius:13px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;row-gap:9px}
  .staff-head{grid-column:1;grid-row:1}
  .production-panel{display:contents}
  .production-value{grid-column:2;grid-row:1;justify-content:flex-end;padding-right:44px;gap:4px}
  .production-value strong{font-size:24px}.production-value>span{font-size:12px}
  .production-counters{grid-column:1;grid-row:2;gap:10px}.production-counters strong{font-size:18px}
  .production-comparison{grid-column:2;grid-row:2}
  .staff-duration-details{grid-row:3;min-height:0}
  .staff-duration-details:not([open]){display:contents}
  .staff-duration-details summary{top:24px;right:12px}
  .staff-duration-details dl{margin:0;padding-top:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
}
@media(max-width:720px){
  .staff-grid{max-height:440px}
  .staff-controls{width:100%;flex-wrap:nowrap;gap:8px}
  .staff-controls input{width:0;flex:1;min-width:0}.staff-controls select{width:144px;flex-shrink:0}
  .staff-controls input,.staff-controls select{font-size:12px}
  .staff-count{font-size:12px}
  .staff-person{gap:7px}.staff-person strong{font-size:15px}.staff-person span{font-size:12px}
  .staff-person .avatar{width:32px;height:32px;font-size:15px}
  .staff-card{column-gap:10px}.production-axis{font-size:11px}
  .production-value strong{font-size:23px}.production-value>span{font-size:11px}
}
@media(max-width:370px){
  .main{padding-left:12px;padding-right:12px}.hero,.salary-panel,.admin-hero .hero{padding:18px}
  .hero-number{font-size:47px}.hero-value{gap:12px}.hero-splits>div{padding:10px}
  .salary-heading{font-size:15px}.salary-heading .tag{font-size:7px}
  .salary-heading>span:first-child{gap:5px}
  .tier-amount{font-size:29px}.salary-confirmed strong{font-size:21px}
  .hero .tag{font-size:8px}.metrics{gap:6px}
}
/* A · 员工首页上下双卡；样式仅作用于员工摘要与参考档位。 */
.employee-hero .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) auto;align-items:center;gap:28px;padding:24px 26px}
.hero-main{display:flex;align-items:center;gap:22px;min-width:0}
.hero-main-copy{min-width:0}
.employee-hero .hero .eyebrow{font-size:13px;line-height:1.5;letter-spacing:0;color:#294c3d;margin-bottom:8px}
.employee-hero .hero-number{font-size:62px;line-height:1.05;overflow-wrap:anywhere}
.employee-hero .hero-number small{font-size:14px;color:#a74727}
.employee-hero .hero-splits{min-width:0;gap:14px}
.employee-hero .hero-splits>div{padding:15px 18px;border-radius:17px}
.employee-hero .hero-splits span{font-size:12px;color:#41564a}
.employee-hero .hero-splits strong{font-size:30px;overflow-wrap:anywhere;color:#b74224;margin-top:8px}
.employee-hero .hero-splits .pending-split strong{color:#176680}
.employee-hero .hero-splits strong small{font-size:12px}
.employee-hero .hero>.tag{font-size:11px;justify-self:end}
.employee-hero .salary-panel{padding:24px 28px}
.employee-hero .salary-heading{font-size:20px;margin-bottom:23px}
.employee-hero .salary-heading .tag{font-size:11px}
.employee-hero .salary-values{display:grid;grid-template-columns:210px minmax(0,1fr) auto;align-items:center;gap:28px}
.employee-hero .salary-current>.tiny{font-size:13px;color:#41564a}
.employee-hero .tier-amount{font-size:43px;line-height:1.2;margin-top:5px;overflow-wrap:anywhere}
.employee-hero .tier-summary{margin:0;padding-left:28px;border-left:1px solid #e3dacb;color:#38544b;line-height:1.65;font-size:14px;min-width:0;overflow-wrap:anywhere}
.employee-hero .tier-summary>span{display:block}
.employee-hero .tier-gap{display:block;font-size:25px;font-weight:800;line-height:1.4;margin-top:2px}
.employee-hero .salary-confirmed{font-size:12px;color:#38544b;padding:0;text-align:right;white-space:normal}
.employee-hero .salary-confirmed strong{font-size:25px}
.employee-hero .salary-track-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:76px}
.employee-hero .tier-track{margin:0}
.employee-hero .tier-progress{height:25px}
.employee-hero .tier-track-label{margin:0;position:relative}
.employee-hero .tier-track-label>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.employee-hero .tier-track-label strong{font-size:21px}
.employee-hero .tier-milestones{position:relative;gap:24px;margin-top:19px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
.employee-hero .tier-milestones::before{content:"";position:absolute;left:12px;right:12px;top:50%;height:2px;background:#d8d6cc}
.employee-hero .tier-chip{position:relative;z-index:1;padding:11px 14px;font-size:12px;gap:5px;color:#41564a}
.employee-hero .tier-chip strong{font-size:17px}
.employee-hero .salary-footnote{font-size:11px;color:#41564a;line-height:1.7;margin-top:14px}
@media(max-width:1250px){
  .employee-hero .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:22px 24px}
  .employee-hero .hero>.tag{grid-column:1/-1;justify-self:end;margin-top:-5px}
  .employee-hero .hero-number{font-size:54px}
  .employee-hero .hero-splits>div{padding:13px 14px}
  .employee-hero .hero-splits strong{font-size:26px}
  .employee-hero .salary-values{grid-template-columns:155px minmax(0,1fr) auto;gap:19px}
  .employee-hero .tier-amount{font-size:36px}
  .employee-hero .tier-summary{padding-left:19px}
  .employee-hero .tier-gap{font-size:22px}
}
@media(max-width:1050px){
  .employee-hero .hero{grid-template-columns:minmax(0,1fr)}
  .employee-hero .hero>.tag{grid-row:1;grid-column:1;align-self:start;margin:0}
  .employee-hero .hero-main{grid-column:1/-1;grid-row:1;padding-top:29px}
  .employee-hero .hero-splits{grid-column:1/-1;grid-row:2}
  .employee-hero .salary-values{grid-template-columns:minmax(0,1fr) auto;gap:16px}
  .employee-hero .tier-summary{grid-row:2;grid-column:1/-1;padding:13px 0 0;border-left:0;border-top:1px solid #e3dacb}
  .employee-hero .salary-confirmed{grid-column:2;grid-row:1}
  .employee-hero .tier-milestones{gap:12px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}
}
@media(max-width:720px){
  .employee-hero .hero{padding:19px;gap:15px}
  .employee-hero .hero-main{gap:13px;padding-top:26px}
  .employee-hero .hero .eyebrow{font-size:12px;margin-bottom:7px}
  .employee-hero .hero-number{font-size:46px;letter-spacing:-1.5px}
  .employee-hero .hero-number small{font-size:12px;margin-left:5px}
  .employee-hero .hero-splits{gap:10px}
  .employee-hero .hero-splits>div{padding:12px}
  .employee-hero .hero-splits span{font-size:12px}
  .employee-hero .hero-splits strong{font-size:25px}
  .employee-hero .hero-splits strong small{font-size:11px}
  .employee-hero .hero>.tag{font-size:10px}
  .employee-hero .salary-panel{padding:20px}
  .employee-hero .salary-heading{font-size:17px;flex-wrap:wrap;gap:9px;margin-bottom:17px}
  .employee-hero .salary-heading .tag{font-size:10px}
  .employee-hero .salary-current>.tiny{font-size:12px}
  .employee-hero .tier-amount{font-size:32px}
  .employee-hero .tier-summary{font-size:13px}
  .employee-hero .tier-gap{font-size:21px}
  .employee-hero .salary-confirmed{font-size:11px}
  .employee-hero .salary-confirmed strong{font-size:22px}
  .employee-hero .salary-track-row{gap:9px;margin-top:76px}
  .employee-hero .tier-progress{height:22px}
  .employee-hero .tier-track-label strong{font-size:16px}
  .employee-hero .tier-milestones{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
  .employee-hero .tier-milestones::before{display:none}
  .employee-hero .tier-chip{padding:10px 12px;font-size:11px}
  .employee-hero .tier-chip strong{font-size:15px}
  .employee-hero .salary-footnote{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
