/* Стилі сторінки. Витягнуто з <style> у Analytics.html без змін. */
:root{
      --bg:#1b1e21;
      --panel:#24282c;
      --panel-2:#2c3135;
      --line:#383e43;
      --text:#eef1f3;
      --muted:#9aa3ab;
      --amber:#f2a900;
      --amber-dim:#7a5a10;
      --red:#d64545;
      --green:#4caf6d;
      --blue:#4a86e8;
      --radius:10px;
    }
    *{box-sizing:border-box;}
    body{
      margin:0;background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;
      -webkit-font-smoothing:antialiased;min-height:100vh;
    }
    .wrap{max-width:1220px;margin:0 auto;padding:32px 23px 69px;}

    header{display:flex;align-items:center;gap:25px;margin-bottom:24px;flex-wrap:wrap;}
    .text-logo{flex-shrink:0;}
    .text-logo img{height:30px;width:auto;display:block;}
    .header-text{flex:1;min-width:220px;}
    .eyebrow{
      font-family:'IBM Plex Mono',monospace;font-size:15.4px;letter-spacing:.18em;color:var(--amber);
      text-transform:uppercase;margin:0 0 6px;
    }
    h1{
      font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;
      letter-spacing:.02em;font-size:clamp(22px,5vw,30px);margin:0 0 10px;
      border-bottom:3px solid var(--amber);padding-bottom:12px;
    }
    .site-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap;}
    .nav-links{display:flex;gap:12px;flex-wrap:wrap;}
    .team-badge-corner{
      font-family:'IBM Plex Mono',monospace;font-size:15.4px;color:var(--amber);
      text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;
      display:flex;align-items:center;gap:7px;
    }
    .logout-link{color:var(--muted);text-decoration:none;border-bottom:1px dashed var(--muted);}
    .logout-link:hover{color:var(--red);border-bottom-color:var(--red);}
    .nav-link{
      background:transparent;border:1px solid var(--line);color:var(--muted);
      font-family:'IBM Plex Mono',monospace;text-transform:uppercase;font-size:15.4px;
      letter-spacing:.08em;padding:12px 21px;border-radius:6px;text-decoration:none;
      display:inline-block;
    }
    .nav-link.active{border-color:var(--amber);color:var(--amber);background:rgba(242,169,0,.08);}
    .nav-link:hover:not(.active){border-color:var(--amber);color:var(--amber);}

    .panel{
      background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
      padding:25px;margin-bottom:20px;
    }
    .panel-title{
      font-family:'IBM Plex Mono',monospace;font-size:15.4px;letter-spacing:.12em;
      text-transform:uppercase;color:var(--muted);margin:0 0 16px;
    }
    label{
      display:block;font-size:15.4px;color:var(--muted);text-transform:uppercase;
      letter-spacing:.06em;margin-bottom:6px;
    }
    input{
      width:100%;min-width:0;background:var(--bg);border:1px solid var(--line);
      border-radius:6px;padding:13px 14px;color:var(--text);
      font-family:'IBM Plex Mono',monospace;font-size:17.9px;
      transition:border-color .15s, box-shadow .15s;
    }
    input::placeholder{color:#5a6167;}
    input:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(242,169,0,.18);}

    button{
      font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;
      letter-spacing:.05em;font-size:17.9px;background:var(--amber);color:#1b1e21;
      border:none;border-radius:6px;padding:14px 28px;cursor:pointer;
      transition:transform .1s, background .15s;
    }
    button:hover{background:#ffbb1a;}
    button:active{transform:scale(.98);}
    button.secondary{background:transparent;border:1px solid var(--line);color:var(--text);}
    button.secondary:hover{border-color:var(--amber);color:var(--amber);background:transparent;}

    .msg{font-size:16.6px;font-family:'IBM Plex Mono',monospace;margin-top:12px;display:none;}
    .msg.show{display:block;}
    .msg.err{color:var(--red);}

    /* ---------- Логін ---------- */
    #loginView .panel{max-width:380px;margin:60px auto 0;}
    #loginView .actions{display:flex;align-items:center;gap:16px;margin-top:16px;}
    #pinInput{text-align:center;font-size:28.2px;letter-spacing:.3em;}

    /* ---------- Навігація місяцями ---------- */
    .month-nav-row{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:4px;}
    .month-nav{display:flex;align-items:center;gap:16px;}
    .month-nav button{padding:9px 16px;font-size:20.5px;line-height:1;}
    .month-label{
      font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;
      font-size:28.2px;letter-spacing:.03em;min-width:220px;text-align:center;
    }
    .month-status-label{
      font-family:'IBM Plex Mono',monospace;font-size:15.4px;text-transform:uppercase;
      letter-spacing:.08em;padding:6px 16px;border-radius:20px;
      background:rgba(154,163,171,.15);color:var(--muted);
    }
    .month-status-label.is-current{background:rgba(242,169,0,.15);color:var(--amber);}
    .month-status-label.is-future{background:rgba(74,134,232,.15);color:var(--blue);}

    .month-progress-bar{
      display:flex;height:16px;border-radius:5px;overflow:hidden;position:relative;
      border:1px solid var(--line);margin:18px 0 26px;background:var(--panel-2);
    }
    .month-progress-cell{flex:1;background:var(--panel-2);border-right:1px solid rgba(0,0,0,.25);}
    .month-progress-cell:last-child{border-right:none;}
    .month-progress-cell.weekend{background:#181a1c;}
    .month-progress-fill{position:absolute;top:0;left:0;bottom:0;background:rgba(242,169,0,.55);pointer-events:none;}
    .month-progress-caption{
      font-family:'IBM Plex Mono',monospace;font-size:14.7px;color:var(--muted);margin:-16px 0 24px;
    }

    .team-filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px;}
    .filter-pill{
      background:transparent;border:1px solid var(--line);color:var(--muted);
      font-family:'IBM Plex Mono',monospace;font-weight:400;text-transform:uppercase;font-size:14.1px;
      letter-spacing:.06em;padding:8px 16px;border-radius:20px;cursor:pointer;
    }
    .filter-pill.active{border-color:var(--amber);color:var(--amber);background:rgba(242,169,0,.1);}
    .filter-pill:hover:not(.active){border-color:var(--amber);color:var(--amber);}

    /* ---------- Блок команди ---------- */
    .team-block{
      background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
      margin-bottom:22px;overflow:hidden;
    }
    .team-block-header{
      padding:18px 23px;border-bottom:1px solid var(--line);
    }
    .team-block-title{
      font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;font-size:21.8px;
      display:flex;align-items:center;gap:12px;margin-bottom:10px;
    }
    .team-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;}
    .team-stats-row{display:flex;gap:25px;flex-wrap:wrap;}
    .team-stat{display:flex;flex-direction:column;gap:3px;}
    .team-stat-label{
      font-family:'IBM Plex Mono',monospace;font-size:13.4px;text-transform:uppercase;
      letter-spacing:.06em;color:var(--muted);
    }
    .team-stat-value{font-family:'Oswald',sans-serif;font-weight:700;font-size:23px;color:var(--text);}
    .team-stat-value.bonus{color:var(--amber);}
    .team-block-body{padding:16px 23px 21px;}

    .all-teams-block{
      background:var(--panel);border:1px solid var(--amber);border-radius:var(--radius);
      margin-bottom:26px;padding:21px 23px;
    }
    .all-teams-title{
      font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;font-size:21.8px;
      color:var(--amber);display:flex;align-items:center;gap:9px;margin-bottom:12px;
    }
    .all-teams-caption{
      font-family:'IBM Plex Mono',monospace;font-size:14.1px;color:var(--muted);margin-bottom:2px;
    }

    .a-plan-card{
      background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--amber);
      border-radius:8px;padding:16px 18px;margin-bottom:10px;cursor:pointer;transition:border-color .15s;
    }
    .a-plan-card:hover{border-color:var(--amber);}
    .a-plan-card:last-child{margin-bottom:0;}
    .a-plan-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;}
    .a-plan-title{font-family:'Oswald',sans-serif;font-weight:600;font-size:19.2px;text-transform:uppercase;}
    .a-plan-right-stack{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0;}
    .a-plan-bonus{
      font-family:'IBM Plex Mono',monospace;font-size:16.6px;font-weight:600;color:var(--amber);
      white-space:nowrap;
    }
    .a-plan-minutes{
      font-family:'IBM Plex Mono',monospace;font-size:14.1px;font-weight:500;color:var(--muted);
      white-space:nowrap;
    }
    .a-plan-sub{
      font-family:'IBM Plex Mono',monospace;font-size:15.4px;color:var(--muted);margin-top:4px;
    }
    .a-plan-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;}
    .a-tag{
      font-family:'IBM Plex Mono',monospace;font-size:12.8px;text-transform:uppercase;
      letter-spacing:.04em;padding:3px 9px;border-radius:4px;
    }
    .a-tag.status-new{background:rgba(154,163,171,.18);color:var(--muted);}
    .a-tag.status-progress{background:rgba(242,169,0,.18);color:var(--amber);}
    .a-tag.status-done{background:rgba(76,175,109,.18);color:var(--green);}
    .a-tag.range-prev{background:rgba(74,134,232,.18);color:var(--blue);}
    .a-tag.range-next{background:rgba(168,85,247,.18);color:#c9a3fb;}
    .a-tag.range-current{background:rgba(154,163,171,.12);color:var(--muted);}
    .track-badge{
      font-size:13.4px;text-transform:uppercase;letter-spacing:.04em;
      padding:2px 9px;border-radius:4px;margin-left:8px;vertical-align:middle;
    }
    .track-badge.ahead{background:rgba(76,175,109,.18);color:var(--green);}
    .track-badge.yellow{background:rgba(242,169,0,.18);color:var(--amber);}
    .track-badge.red{background:rgba(214,69,69,.18);color:var(--red);}

    .empty-state{padding:34px;text-align:center;color:var(--muted);font-size:16.6px;}

/* Кольорова крапка команди в чіпі фільтра — замінює окрему легенду кольорів. */
.filter-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;
  vertical-align:baseline;flex:none;}
.filter-pill{display:inline-flex;align-items:center;}
