/* ============================================================
   WORK DAYS CALCULATOR - workdays-calculator.css  v4.0
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=DM+Mono:wght@400;500&family=Outfit:wght@400;500;600;700&display=swap');

/* ── VARIABLES ── */
:root,[data-theme="light"]{
  --wc-bg:#FEFAE0;--wc-surface:#fff9e8;--wc-surface2:#fef4cc;
  --wc-card:#fff;--wc-border:#e8dfc0;--wc-border2:#cfc098;
  --wc-text:#2c2415;--wc-text2:#6b5c38;--wc-text3:#a08d62;
  --wc-accent:#D4A373;--wc-accent2:#b8834d;--wc-glow:rgba(212,163,115,.22);
  --wc-green:#2d9164;--wc-green-bg:#eaf6f1;--wc-green-bd:#b8e0ce;
  --wc-red:#c0392b;--wc-red-bg:#fdecea;--wc-red-bd:#f0b8b3;
  --wc-blue:#2471a3;--wc-blue-bg:#e8f4fb;--wc-blue-bd:#aed6f1;
  --wc-purple:#7d3c98;--wc-purple-bg:#f4eef9;--wc-purple-bd:#d7b8ed;
  --wc-orange:#d35400;--wc-orange-bg:#fef0e7;--wc-orange-bd:#f5c6a0;
  --wc-sh:0 2px 12px rgba(44,36,21,.09);
  --wc-sh2:0 8px 30px rgba(44,36,21,.14);
  --wc-r:16px;--wc-r2:10px;--wc-r3:7px;
  --wc-ease:cubic-bezier(.4,0,.2,1);
}
[data-theme="dark"]{
  --wc-bg:#181308;--wc-surface:#201a0b;--wc-surface2:#28200f;
  --wc-card:#241d0e;--wc-border:#38300f;--wc-border2:#52451e;
  --wc-text:#f4edda;--wc-text2:#c5b386;--wc-text3:#877455;
  --wc-accent:#D4A373;--wc-accent2:#e8bf95;--wc-glow:rgba(212,163,115,.18);
  --wc-green:#27ae60;--wc-green-bg:rgba(39,174,96,.12);--wc-green-bd:rgba(39,174,96,.28);
  --wc-red:#e74c3c;--wc-red-bg:rgba(231,76,60,.12);--wc-red-bd:rgba(231,76,60,.28);
  --wc-blue:#2980b9;--wc-blue-bg:rgba(41,128,185,.12);--wc-blue-bd:rgba(41,128,185,.28);
  --wc-purple:#8e44ad;--wc-purple-bg:rgba(142,68,173,.12);--wc-purple-bd:rgba(142,68,173,.28);
  --wc-orange:#e67e22;--wc-orange-bg:rgba(230,126,34,.12);--wc-orange-bd:rgba(230,126,34,.28);
  --wc-sh:0 2px 12px rgba(0,0,0,.4);--wc-sh2:0 8px 30px rgba(0,0,0,.5);
}

/* ── WRAP ── */
.wc-wrap{font-family:'Outfit',sans-serif;color:var(--wc-text);max-width:1200px;margin:0 auto;padding-bottom:80px;}

/* ── MODES ── */
.wc-modes{display:flex;gap:4px;background:var(--wc-surface);border:1px solid var(--wc-border);border-radius:50px;padding:5px;margin-bottom:26px;flex-wrap:wrap;}
.wc-mode-btn{flex:1;min-width:150px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border:none;border-radius:44px;background:transparent;color:var(--wc-text3);font-family:'Outfit',sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s var(--wc-ease);white-space:nowrap;}
.wc-mode-btn .wc-ico{width:16px;height:16px;}
.wc-mode-btn:hover{color:var(--wc-text);background:var(--wc-surface2);}
.wc-mode-btn.active{background:var(--wc-accent);color:#fff;box-shadow:0 3px 12px var(--wc-glow);}

/* ── LAYOUT ── */
.wc-layout{display:grid;grid-template-columns:1fr 375px;gap:20px;align-items:start;}
@media(max-width:960px){.wc-layout{grid-template-columns:1fr;}}

/* ── CARD ── */
.wc-card{background:var(--wc-card);border:1px solid var(--wc-border);border-radius:var(--wc-r);box-shadow:var(--wc-sh);overflow:hidden;transition:box-shadow .2s;}
.wc-card:hover{box-shadow:var(--wc-sh2);}
.wc-card+.wc-card,.wc-card+.wc-result-hero{margin-top:14px;}
.wc-card-header{display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--wc-surface);border-bottom:1px solid var(--wc-border);}
.wc-card-header .wc-ico{color:var(--wc-accent);width:18px;height:18px;}
.wc-card-header h3{font-size:.88rem;font-weight:700;margin:0;color:var(--wc-text);letter-spacing:.01em;}
.wc-card-body{padding:20px;}

/* ── ICO ── */
.wc-ico{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.wc-ico svg{width:100%;height:100%;display:block;}

/* ── FIELDS ── */
.wc-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;}
@media(max-width:520px){.wc-field-row{grid-template-columns:1fr;}}
.wc-field{display:flex;flex-direction:column;gap:5px;}
.wc-field label{font-size:.68rem;font-weight:700;color:var(--wc-text2);text-transform:uppercase;letter-spacing:.08em;}
.wc-field input,.wc-field select{width:100%;padding:10px 13px;border:1.5px solid var(--wc-border);border-radius:var(--wc-r3);background:var(--wc-surface);color:var(--wc-text);font-family:'Outfit',sans-serif;font-size:.9rem;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;-webkit-appearance:none;}
.wc-field input:focus,.wc-field select:focus{outline:none;border-color:var(--wc-accent);box-shadow:0 0 0 3px var(--wc-glow);}

/* ── CALC BTN ── */
.wc-calc-btn{width:100%;margin-top:12px;padding:13px 20px;border:none;border-radius:var(--wc-r2);background:linear-gradient(135deg,var(--wc-accent),var(--wc-accent2));color:#fff;font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:all .2s var(--wc-ease);box-shadow:0 3px 12px var(--wc-glow);}
.wc-calc-btn .wc-ico{width:18px;height:18px;}
.wc-calc-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--wc-glow);filter:brightness(1.06);}
.wc-calc-btn:active{transform:translateY(0);}

/* ── TOGGLES ── */
.wc-toggles-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;}
.wc-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:500;color:var(--wc-text2);cursor:pointer;user-select:none;}
.wc-toggle:hover{color:var(--wc-text);}
.wc-switch{position:relative;width:36px;height:20px;border-radius:10px;background:var(--wc-border2);flex-shrink:0;transition:background .18s;}
.wc-switch::after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .18s;}
.wc-toggle.on .wc-switch{background:var(--wc-accent);}
.wc-toggle.on .wc-switch::after{transform:translateX(16px);}

/* ── PILLS ── */
.wc-section-label{font-size:.68rem;font-weight:700;color:var(--wc-text3);text-transform:uppercase;letter-spacing:.09em;margin-bottom:7px;}
.wc-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.wc-pill{padding:5px 13px;border:1.5px solid var(--wc-border);border-radius:20px;background:var(--wc-surface);color:var(--wc-text2);font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;}
.wc-pill:hover{border-color:var(--wc-accent);color:var(--wc-accent);}
.wc-pill.active{background:var(--wc-accent);border-color:var(--wc-accent);color:#fff;}

/* ── MISC ── */
.wc-hr{border:none;border-top:1px solid var(--wc-border);margin:16px 0;}
.wc-hint{font-size:.72rem;color:var(--wc-text3);margin-top:5px;font-style:italic;}

/* ── DAY TOGGLES ── */
.wc-day-toggles{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0;}
.wc-day-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--wc-border);background:var(--wc-surface);color:var(--wc-text2);font-family:'DM Mono',monospace;font-size:.72rem;font-weight:500;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;transition:all .15s;}
.wc-day-btn:hover{border-color:var(--wc-accent);color:var(--wc-accent);}
.wc-day-btn.off{background:var(--wc-orange-bg);border-color:var(--wc-orange);color:var(--wc-orange);font-weight:700;}

/* ── HOLIDAY LIST ── */
.wc-holiday-list{max-height:200px;overflow-y:auto;border:1px solid var(--wc-border);border-radius:var(--wc-r3);background:var(--wc-surface);margin-bottom:12px;}
.wc-holiday-list::-webkit-scrollbar{width:4px;}
.wc-holiday-list::-webkit-scrollbar-thumb{background:var(--wc-border2);border-radius:2px;}
.wc-holiday-item{display:flex;align-items:center;gap:8px;padding:8px 11px;border-bottom:1px solid var(--wc-border);font-size:.8rem;transition:background .1s;}
.wc-holiday-item:last-child{border-bottom:none;}
.wc-holiday-item:hover{background:var(--wc-surface2);}
.wc-hdate{font-family:'DM Mono',monospace;font-size:.72rem;color:var(--wc-text3);min-width:90px;flex-shrink:0;}
.wc-hname{flex:1;color:var(--wc-text);line-height:1.3;}
.wc-hname small{opacity:.5;font-size:.7rem;}
.wc-hdel{background:none;border:none;color:var(--wc-text3);cursor:pointer;padding:3px;display:flex;align-items:center;border-radius:4px;transition:all .12s;}
.wc-hdel:hover{color:var(--wc-red);background:var(--wc-red-bg);}
.wc-hdel .wc-ico{width:14px;height:14px;}
.wc-hlist-empty{padding:14px;font-size:.8rem;color:var(--wc-text3);text-align:center;}

/* ── ADD HOLIDAY ── */
.wc-hadd-row{display:grid;grid-template-columns:135px 1fr 38px;gap:6px;}
.wc-hadd-row input{padding:9px 11px;border:1.5px solid var(--wc-border);border-radius:var(--wc-r3);background:var(--wc-surface);color:var(--wc-text);font-family:'Outfit',sans-serif;font-size:.83rem;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;}
.wc-hadd-row input:focus{outline:none;border-color:var(--wc-accent);box-shadow:0 0 0 3px var(--wc-glow);}
.wc-hadd-btn{display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--wc-r3);background:var(--wc-accent);color:#fff;cursor:pointer;transition:all .15s;}
.wc-hadd-btn:hover{background:var(--wc-accent2);transform:scale(1.06);}
.wc-hadd-btn .wc-ico{width:16px;height:16px;}

/* ── RESULT HERO ── */
.wc-result-hero{position:relative;overflow:hidden;border-radius:var(--wc-r);padding:36px 24px 28px;margin-bottom:14px;text-align:center;background:linear-gradient(140deg,#D4A373 0%,#b8734a 100%);color:#fff;box-shadow:0 6px 24px var(--wc-glow);}
.wc-result-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 85%,rgba(255,255,255,.13) 0%,transparent 50%),radial-gradient(circle at 85% 15%,rgba(255,255,255,.09) 0%,transparent 50%);}
.wc-result-hero::after{content:'';position:absolute;bottom:-30px;right:-30px;width:160px;height:160px;border-radius:50%;border:25px solid rgba(255,255,255,.07);}
.wc-hero-inner{position:relative;}
.wc-hero-num{font-family:'DM Serif Display',serif;font-size:5rem;line-height:1;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,.15);}
.wc-hero-label{font-size:.92rem;font-weight:600;opacity:.9;letter-spacing:.05em;text-transform:uppercase;}
.wc-hero-sub{font-size:.76rem;opacity:.72;margin-top:8px;font-family:'DM Mono',monospace;}
.wc-hero-pill{display:inline-flex;align-items:center;gap:5px;margin-top:12px;padding:5px 13px;background:rgba(255,255,255,.18);border-radius:20px;font-size:.75rem;font-family:'DM Mono',monospace;backdrop-filter:blur(4px);}

/* ── STAT GRID ── */
.wc-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px;}
.wc-stat{padding:14px 15px;border-radius:var(--wc-r2);border:1px solid transparent;transition:transform .15s,box-shadow .15s;cursor:default;}
.wc-stat:hover{transform:translateY(-1px);box-shadow:var(--wc-sh);}
.wc-sv{font-family:'DM Mono',monospace;font-size:1.6rem;font-weight:500;line-height:1;margin-bottom:4px;}
.wc-sl{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.7;}
.wc-stat.green{background:var(--wc-green-bg);border-color:var(--wc-green-bd);}.wc-stat.green .wc-sv{color:var(--wc-green);}
.wc-stat.blue{background:var(--wc-blue-bg);border-color:var(--wc-blue-bd);}.wc-stat.blue .wc-sv{color:var(--wc-blue);}
.wc-stat.red{background:var(--wc-red-bg);border-color:var(--wc-red-bd);}.wc-stat.red .wc-sv{color:var(--wc-red);}
.wc-stat.orange{background:var(--wc-orange-bg);border-color:var(--wc-orange-bd);}.wc-stat.orange .wc-sv{color:var(--wc-orange);}
.wc-stat.purple{background:var(--wc-purple-bg);border-color:var(--wc-purple-bd);}.wc-stat.purple .wc-sv{color:var(--wc-purple);}
.wc-stat.neutral{background:var(--wc-surface);border-color:var(--wc-border);}.wc-stat.neutral .wc-sv{color:var(--wc-accent2);}

/* ── DONUT + LEGEND ── */
.wc-breakdown{padding:16px 20px 6px;display:flex;align-items:center;gap:22px;}
.wc-donut-svg{flex-shrink:0;}
.wc-legend{flex:1;display:flex;flex-direction:column;gap:10px;}
.wc-leg-row{display:flex;align-items:center;gap:8px;font-size:.81rem;color:var(--wc-text2);}
.wc-leg-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.12);}
.wc-leg-lbl{flex:1;}
.wc-leg-val{font-family:'DM Mono',monospace;font-size:.78rem;color:var(--wc-text);font-weight:500;}
.wc-bar-wrap{padding:8px 20px 18px;}
.wc-bar-track{height:10px;border-radius:5px;background:var(--wc-surface2);overflow:hidden;display:flex;}
.wc-bar-seg{height:100%;transition:width .65s cubic-bezier(.4,0,.2,1);}

/* ── HOLIDAYS IN RANGE ── */
.wc-hol-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:14px 20px;}
@media(max-width:480px){.wc-hol-grid{grid-template-columns:1fr;}}
.wc-hol-item{padding:8px 11px;background:var(--wc-red-bg);border:1px solid var(--wc-red-bd);border-radius:var(--wc-r3);}
.wc-hol-date{font-family:'DM Mono',monospace;font-size:.7rem;color:var(--wc-red);font-weight:600;margin-bottom:2px;}
.wc-hol-name{font-size:.78rem;color:var(--wc-text);line-height:1.3;}

/* ── EXPORT ACTIONS ── */
.wc-actions{display:flex;flex-wrap:wrap;gap:8px;}
.wc-act-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1.5px solid var(--wc-border);border-radius:var(--wc-r3);background:var(--wc-surface);color:var(--wc-text2);font-family:'Outfit',sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;}
.wc-act-btn .wc-ico{width:14px;height:14px;}
.wc-act-btn:hover{border-color:var(--wc-accent);color:var(--wc-accent);}
.wc-act-btn.success{border-color:var(--wc-green);color:var(--wc-green);background:var(--wc-green-bg);}

/* ── NO RESULT ── */
.wc-no-result{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:50px 20px;color:var(--wc-text3);text-align:center;}
.wc-no-result .wc-ico{width:44px;height:44px;opacity:.25;}
.wc-no-result p{font-size:.88rem;margin:0;max-width:240px;line-height:1.6;}

/* ── CALENDAR ── */
.wc-cal-nav{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--wc-border);}
.wc-cal-nav-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1.5px solid var(--wc-border);border-radius:var(--wc-r3);background:none;color:var(--wc-text2);cursor:pointer;transition:all .15s;}
.wc-cal-nav-btn .wc-ico{width:15px;height:15px;}
.wc-cal-nav-btn:hover{border-color:var(--wc-accent);color:var(--wc-accent);}
.wc-cal-title{font-weight:700;font-size:.88rem;color:var(--wc-text);}
.wc-cal-grid{padding:12px 14px 14px;}
.wc-cal-hdrs{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px;}
.wc-cal-hdrs div{text-align:center;font-size:.6rem;font-weight:700;color:var(--wc-text3);text-transform:uppercase;letter-spacing:.04em;padding:3px 0;}
.wc-cal-cells{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.wc-cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:.74rem;border-radius:6px;cursor:default;transition:background .1s;position:relative;}
.wc-cal-cell.empty{visibility:hidden;}
.wc-cal-cell.today{outline:2px solid var(--wc-accent);outline-offset:-2px;font-weight:700;}
.wc-cal-cell.weekend{background:var(--wc-orange-bg);color:var(--wc-orange);}
.wc-cal-cell.holiday{background:var(--wc-red-bg);color:var(--wc-red);font-weight:600;}
.wc-cal-cell.holiday::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--wc-red);}
.wc-cal-cell.in-range{background:var(--wc-green-bg);color:var(--wc-green);font-weight:600;}
.wc-cal-cell.range-cap{background:var(--wc-accent)!important;color:#fff!important;font-weight:700;box-shadow:0 2px 8px var(--wc-glow);}
.wc-cal-legend{display:flex;flex-wrap:wrap;gap:10px;padding:9px 14px 13px;border-top:1px solid var(--wc-border);}
.wc-cl-item{display:flex;align-items:center;gap:5px;font-size:.68rem;color:var(--wc-text3);font-weight:500;}
.wc-cl-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}

/* ── ANIMATIONS ── */
@keyframes wc-in{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.wc-anim{animation:wc-in .3s ease forwards;}

/* ── RESPONSIVE ── */
@media(max-width:540px){
  .wc-hero-num{font-size:3.5rem;}
  .wc-modes{border-radius:var(--wc-r);}
  .wc-mode-btn{min-width:110px;padding:10px 12px;font-size:.78rem;}
  .wc-breakdown{flex-direction:column;}
  .wc-stat-grid{gap:8px;padding:12px;}
  .wc-hadd-row{grid-template-columns:1fr 1fr 38px;}
}
@media print{
  .wc-modes,.wc-left,.wc-calc-btn,.wc-actions,.wc-cal-nav-btn{display:none!important;}
  .wc-layout{grid-template-columns:1fr;}
  .wc-card{box-shadow:none;border:1px solid #ccc;}
}
