.ea{--ea-gold:#e5c477;--ea-muted:#aaa6b3;color:#f5f3f8;font-size:13px}
.ea [hidden]{display:none!important}.ea button,.ea input{font:inherit}.ea button{cursor:pointer}.ea button:disabled{cursor:default;opacity:.42}
.ea-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px}.ea-heading h2{font-size:23px;margin:0 0 8px;letter-spacing:.02em}.ea-heading p{margin:0;color:var(--ea-muted);font-size:12px;line-height:1.8}.ea-plan-link{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.ea-layout{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(360px,1.05fr);gap:20px;align-items:start}.ea-box{border:1px solid #383540;border-radius:15px;background:#1b1b22;min-width:0;overflow:hidden}.ea-box-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 22px;border-bottom:1px solid #34313b}.ea-box h3{font-size:15px;margin:0}.ea-small{color:var(--ea-muted);font-size:11px}
.ea-search{display:flex;gap:8px;padding:18px 22px 8px}.ea-search input{min-width:0;flex:1;height:40px;border:1px solid #4a4554;border-radius:8px;padding:0 12px;background:#131319;color:#f5f3f8}.ea-search input:focus{outline:2px solid #bba36b;outline-offset:1px}.ea-search-help{margin:0;padding:0 22px 16px;color:#96909f;font-size:10px}
.ea-button{border:1px solid #50495b;border-radius:8px;min-height:38px;padding:8px 13px;background:#26232e;color:#e5e0eb;white-space:nowrap}.ea-button:not(:disabled):hover{background:#34303e;border-color:#877797}.ea-primary{background:#d8b966;color:#241e11;border-color:#e5cb88;font-weight:700}.ea-primary:not(:disabled):hover{background:#ecd491;border-color:#f1dfa9}.ea-text-button{background:transparent;border:0;color:#d8bb7b;padding:0;font-size:11px}
.ea-list{min-height:200px;max-height:520px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#625268 transparent}.ea-list-labels{display:grid;grid-template-columns:1fr 78px;gap:8px;padding:10px 22px;background:#17171d;font-size:10px;color:#9f99aa}.ea-list-labels span:last-child{text-align:right}.ea-person{display:flex;width:100%;text-align:left;gap:12px;align-items:center;background:transparent;border:0;border-bottom:1px solid #302d37;padding:15px 22px;color:inherit}.ea-person:not(:disabled):hover{background:#24212c}.ea-person[aria-pressed=true]{background:#312a20;box-shadow:inset 3px 0 var(--ea-gold)}.ea-avatar{width:38px;height:38px;flex:none;position:relative;display:grid;place-items:center;background:#34303e;color:#d7c7e8;border-radius:12px;overflow:hidden;font-weight:700}.ea-avatar img{position:absolute;width:100%;height:100%;object-fit:cover}.ea-person-name{min-width:0;flex:1}.ea-person-name strong,.ea-person-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ea-person-name strong{font-size:12px;margin-bottom:5px}.ea-person-name small{font-size:10px;color:#aaa2b4}.ea-person-days{text-align:right;flex:none;min-width:68px}.ea-person-days strong{font-size:18px;font-weight:600}.ea-person-days small{font-size:10px;margin-left:3px;color:#c4bacf}.ea-person-days span{display:block;color:#9d94a7;font-size:9px;margin-top:5px}
.ea-pagebar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 22px}.ea-empty{padding:40px 24px;text-align:center;color:#aaa3b4;font-size:12px;line-height:1.9}.ea-empty strong{display:block;color:#dfd9e9;font-size:15px;margin:0 0 10px}.ea-empty .ea-button{margin-top:16px}.ea-empty-icon{width:68px;height:68px;margin:0 auto 20px;border:1px solid #514655;border-radius:17px;display:grid;place-items:center;background:#25202c;color:#bc9ec6}.ea-empty-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.5}.ea-detail{padding:22px}.ea-detail-person{display:flex;align-items:center;gap:12px;margin-bottom:23px}.ea-detail-person h3{font-size:16px;margin:0 0 5px}.ea-detail-person p{margin:0;color:#aaa0b7;font-size:11px}.ea-detail-person .ea-avatar{width:43px;height:43px}
.ea-month-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 19px}.ea-month-row strong{font-size:19px}.ea-month-controls{display:flex;gap:6px}.ea-month-controls button{min-width:36px;padding:6px 10px}.ea-month-summary{display:flex;gap:20px;margin:0 0 20px;padding:14px 16px;border-radius:10px;background:#25212b}.ea-month-summary div{flex:1;color:#a89daf;font-size:10px}.ea-month-summary strong{display:block;margin-top:7px;color:#f1dba6;font-size:23px;font-weight:600}.ea-month-summary strong small{font-size:11px;margin-left:5px;color:#c8bbd0}.ea-month-summary div+div{padding-left:20px;border-left:1px solid #44384d}
.ea-week,.ea-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.ea-week{margin-bottom:9px;text-align:center;color:#a99db7;font-size:10px}.ea-week span:first-child{color:#db9caa}.ea-week span:last-child{color:#99b4d7}.ea-day{border:1px solid #403946;border-radius:9px;background:#211d27;color:#aca1b8;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;padding:4px}.ea-day .ea-day-number{font-size:11px}.ea-day .ea-day-mark{font-size:17px;line-height:1;min-height:17px}.ea-day[data-present=true]{border-color:#756138;background:#3c3322;color:#f3d58b}.ea-day[data-changed=true]{outline:2px solid #c4a4ee;outline-offset:1px;background:#352b47;color:#e9d7ff;border-color:#a181ca}.ea-day:disabled{opacity:1;cursor:default}.ea-day:disabled:not([data-present=true]){background:#18161e;border-color:#2b2731;color:#605969}.ea-day[data-status=unknown]{color:#928399!important;background:repeating-linear-gradient(135deg,#211c27,#211c27 4px,#1b1821 4px,#1b1821 8px)!important}.ea-day:not(:disabled):hover{border-color:#dfbd72;background:#3e3422}
.ea-legend{display:flex;gap:16px;flex-wrap:wrap;color:#b0a4bc;font-size:10px;margin:17px 0}.ea-legend span{display:inline-flex;gap:6px;align-items:center}.ea-legend i{width:9px;height:9px;border-radius:3px;background:#be9d52}.ea-legend span:nth-child(2) i{background:#292330;border:1px solid #65596f}.ea-legend span:nth-child(3) i{background:#b491df}.ea-note{font-size:10px;line-height:1.8;color:#a59aaf;margin:12px 0 0}.ea-savebar{border-top:1px solid #3b3243;margin-top:20px;padding-top:18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ea-savebar>span{flex:1;min-width:95px;font-size:11px;color:#d5b9f3}.ea-banner{border:1px solid #665631;background:#2c261b;color:#f1dca7;border-radius:10px;padding:13px 16px;line-height:1.7;margin:0 0 18px;font-size:12px}.ea-banner[data-tone=error]{border-color:#70424c;background:#301f27;color:#f0bbc9}.ea-banner[data-tone=success]{border-color:#406353;background:#1e2c27;color:#b8ddca}.ea-detail-error{line-height:1.8;color:#c4b5ce;margin:16px 0}.ea-auth{padding:45px 24px;border:1px solid #4f434f;border-radius:15px;background:#1e1b24;text-align:center;line-height:1.9}.ea-auth a{display:inline-block;margin-top:10px;color:#edce83}
.ea[data-mode=demo] .ea-day[data-status=absent]{color:#aaa0b3;background:#211d27;border-color:#403946}
.ea[data-mode=demo] .ea-day:disabled{opacity:1}
@media(min-width:1600px){.ea-layout{grid-template-columns:minmax(0,1fr) 520px}}
@media(max-width:1200px){.ea-layout{grid-template-columns:1fr}.ea-list{min-height:0;max-height:288px}.ea-detail{max-width:580px;margin:auto}.ea-calendar{gap:8px}.ea-heading{align-items:flex-start}.ea-person{padding-top:12px;padding-bottom:12px}}
@media(max-width:540px){.ea-heading{gap:10px;flex-direction:column;margin-bottom:18px}.ea-heading h2{font-size:20px}.ea-retention{font-size:10px;padding:5px 8px}.ea-box-head,.ea-person,.ea-pagebar{padding-left:16px;padding-right:16px}.ea-search{padding:16px 16px 8px}.ea-search-help,.ea-list-labels{padding-left:16px;padding-right:16px}.ea-detail{padding:17px 14px}.ea-week,.ea-calendar{gap:5px}.ea-day{border-radius:7px;gap:3px}.ea-day .ea-day-mark{font-size:15px;min-height:15px}.ea-day .ea-day-number{font-size:10px}.ea-month-summary{padding:12px}.ea-savebar .ea-primary{flex:1}.ea-savebar>span{width:100%;flex:auto}.ea-empty{padding:28px 18px}}
