
:root{--v25-good:#57d69b;--v25-warn:#ffba61;--v25-danger:#ff8178}
.v25-page{padding-bottom:120px}.v25-hero{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:22px}.v25-hero h1{margin:8px 0 6px;font-size:clamp(34px,5vw,68px);letter-spacing:-.055em}.v25-hero p{margin:0;color:var(--app-text-soft);max-width:700px;line-height:1.55}.v25-actions{display:flex;gap:10px;flex-wrap:wrap}
.v25-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.v25-card{padding:20px;border:1px solid var(--app-border);border-radius:20px;background:var(--app-surface);box-shadow:var(--app-shadow)}.v25-card small{display:block;color:var(--app-text-soft);font-size:9px;font-weight:900;text-transform:uppercase}.v25-card strong{display:block;margin-top:10px;font-size:28px}.v25-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-top:14px}.v25-card h2{margin:6px 0 18px;font-size:21px}.v25-next{display:grid;gap:6px;padding:18px;border-radius:16px;background:var(--app-surface-2)}.v25-next strong{font-size:22px}.v25-next span,.v25-list small{color:var(--app-text-soft)}
.v25-list{display:grid;gap:8px}.v25-list button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px;border:1px solid var(--app-border);border-radius:13px;color:var(--app-text);background:var(--app-surface-2);cursor:pointer;text-align:left}.v25-list button span{display:grid;gap:3px}.v25-list button strong{font-size:13px;margin:0}
.v25-dialog{width:min(700px,calc(100vw - 24px));border:1px solid var(--app-border);border-radius:22px;color:var(--app-text);background:var(--app-surface);box-shadow:0 30px 100px rgba(0,0,0,.5)}.v25-dialog::backdrop{background:rgba(5,5,12,.72);backdrop-filter:blur(8px)}.v25-dialog form>header,.v25-dialog form>footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.v25-dialog h2{margin:4px 0}.v25-dialog .icon-button{width:38px;height:38px;border:0;border-radius:12px;color:var(--app-text);background:var(--app-surface-2);font-size:22px}.v25-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.v25-form-grid label span,.v25-form label span{display:block;margin-bottom:7px;color:var(--app-text-soft);font-size:9px;font-weight:800}.v25-form-grid input,.v25-form-grid select,.v25-form-grid textarea,.v25-form input,.v25-form select,.v25-form textarea{width:100%;padding:12px;border:1px solid var(--app-border);border-radius:12px;color:var(--app-text);background:var(--app-input);font:inherit}.v25-form-grid textarea{min-height:86px}.v25-form-grid .wide{grid-column:1/-1}.v25-form-grid .check{display:flex;align-items:center;gap:8px}.v25-form-grid .check input{width:auto}.danger{color:#ff9b93!important}
.v25-toast{position:fixed;z-index:15000;right:20px;bottom:100px;padding:13px 16px;border:1px solid var(--app-border);border-radius:13px;color:var(--app-text);background:var(--app-surface);box-shadow:0 20px 60px rgba(0,0,0,.3)}
.v25-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px}.v25-calendar-toolbar>div{display:flex;gap:8px}.v25-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:14px}.v25-weekday{padding:8px;text-align:center;color:var(--app-text-soft);font-size:9px;font-weight:900}.v25-day,.v25-calendar .empty{min-height:120px;border:1px solid var(--app-border);border-radius:15px}.v25-day{padding:10px;color:var(--app-text);background:var(--app-surface);cursor:pointer;text-align:left}.v25-day.today{border-color:var(--accent-b)}.v25-day>span{display:grid;width:27px;height:27px;place-items:center;border-radius:9px;background:var(--app-surface-2);font-weight:900}.v25-day>div{display:grid;gap:5px;margin-top:8px}.v25-day i{overflow:hidden;padding:5px 7px;border-left:3px solid var(--shift-color);border-radius:7px;background:color-mix(in srgb,var(--shift-color) 12%,transparent);font-size:8px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.v25-day i.vac{--shift-color:#57d69b}
.v25-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v25-table-wrap{overflow:auto}.v25-table{width:100%;border-collapse:collapse}.v25-table th,.v25-table td{padding:12px;border-bottom:1px solid var(--app-border);text-align:left;font-size:10px}.v25-table th{color:var(--app-text-soft);font-size:8px;text-transform:uppercase}.v25-form{display:grid;gap:12px}.v25-vacation-list{display:grid;gap:10px}.v25-vacation-list article{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;border:1px solid var(--app-border);border-radius:14px;background:var(--app-surface-2)}.v25-vacation-list article div{display:grid;gap:4px}.v25-vacation-list span{color:var(--app-text-soft);font-size:9px}.v25-vacation-list button{border:0;color:#ff9b93;background:transparent;cursor:pointer}
.v25-chat{display:grid;grid-template-rows:minmax(300px,55vh) auto;gap:12px}.v25-chat-log{overflow:auto;display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--app-border);border-radius:18px;background:var(--app-surface)}.v25-chat-log>div{max-width:78%;padding:12px 14px;border-radius:14px;line-height:1.5}.v25-chat-log .user{align-self:flex-end;background:linear-gradient(135deg,var(--accent-a),var(--accent-b));color:white}.v25-chat-log .ai{align-self:flex-start;background:var(--app-surface-2)}.v25-chat-form{display:flex;gap:10px}.v25-chat-form input{flex:1;padding:14px;border:1px solid var(--app-border);border-radius:14px;color:var(--app-text);background:var(--app-input)}.v25-prompts{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.v25-prompts button{padding:8px 11px;border:1px solid var(--app-border);border-radius:999px;color:var(--app-text-soft);background:var(--app-surface);cursor:pointer}
@media(max-width:1000px){.v25-stats{grid-template-columns:repeat(2,1fr)}.v25-grid{grid-template-columns:1fr}.v25-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.v25-hero{flex-direction:column}.v25-stats,.v25-summary-grid{grid-template-columns:1fr}.v25-form-grid{grid-template-columns:1fr}.v25-form-grid .wide{grid-column:auto}.v25-calendar{gap:4px}.v25-day,.v25-calendar .empty{min-height:85px;border-radius:10px}.v25-day{padding:6px}.v25-day i{font-size:0;height:8px;padding:0;border-radius:4px}.v25-chat-form{flex-direction:column}}
