:root{--ink:#171318;--dark:#100b13;--brand:#981e58;--brand-strong:#c73778;--brand-soft:#f6eaf0;--text:#332d34;--muted:#746d74;--line:#e8e3e6;--surface:#fff;--surface-alt:#f6f5f8;--success:#1f7a54;--danger:#a63142;--shadow:0 18px 50px rgba(25,16,28,.08)}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--surface-alt);-webkit-font-smoothing:antialiased}body.dark{--text:#eee8ed;--muted:#a79fa7;--line:#322a31;--surface:#1a151b;--surface-alt:#100d11;--ink:#fff;--shadow:0 18px 50px rgba(0,0,0,.24)}a{color:inherit}button,input,textarea{font:inherit}.hub-shell{width:min(100%,1180px);margin:0 auto;padding:0 28px 42px}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:132px;height:auto;display:block}.brand span{font-size:.72rem;letter-spacing:.14em;font-weight:800;color:var(--muted);padding-left:12px;border-left:1px solid var(--line)}.top-actions{display:flex;gap:10px;align-items:center}.icon-button,.avatar-button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--muted);cursor:pointer}.avatar-button{background:var(--dark);color:#fff;border-color:var(--dark);font-weight:800;font-size:.85rem}.hero{text-align:center;padding:34px 0 22px}.clock{font-size:clamp(3.6rem,8vw,6.4rem);line-height:.9;letter-spacing:-.06em;font-weight:800;color:var(--ink)}.hero-meta{margin-top:22px;display:flex;justify-content:center;align-items:center;gap:9px;color:var(--muted);font-size:.95rem}.weather-link{border:0;background:none;color:inherit;cursor:pointer;padding:0}.dot{opacity:.5}.search-row{display:flex;justify-content:center;margin-top:18px}.google-search{width:min(100%,760px);height:58px;border-radius:18px;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;padding:0 8px 0 20px;box-shadow:0 10px 28px rgba(20,12,22,.06)}.google-search input{flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:.98rem}.google-search button{width:44px;height:44px;border-radius:14px;border:0;background:var(--brand);color:#fff;font-size:1.5rem;cursor:pointer}.quick-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0 34px}.quick-links a{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;text-decoration:none;background:var(--surface);border:1px solid var(--line);font-size:.82rem;font-weight:700;box-shadow:0 6px 14px rgba(20,12,22,.05)}.quick-links a span{color:var(--brand)}.quick-links .manage-link{padding:9px 11px}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.timer-card{grid-column:1/-1;padding:28px}.tasks-card,.entries-card{padding:24px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.card-head.compact{align-items:center}.eyebrow{margin:0 0 7px;color:var(--brand);font-size:.72rem;font-weight:800;letter-spacing:.12em}.card h2,.sub-title h1,.auth-panel h1{margin:0;color:var(--ink);letter-spacing:-.03em}.card h2{font-size:1.35rem}.today-total{text-align:right}.today-total span,.month-total span{display:block;color:var(--muted);font-size:.76rem}.today-total strong,.month-total strong{font-size:1.35rem;color:var(--ink)}.start-form{display:grid;grid-template-columns:1.4fr .8fr auto;gap:12px;align-items:end}.start-form label,.form-stack label,.edit-form label,.month-filter label{display:grid;gap:7px;color:var(--muted);font-size:.76rem;font-weight:700}.start-form label span,.optional{font-weight:500;opacity:.8}.start-form input,.form-stack input,.form-stack textarea,.edit-form input,.edit-form textarea,.task-add input,.month-filter input{width:100%;border:1px solid var(--line);background:var(--surface-alt);border-radius:11px;padding:12px 13px;color:var(--text);outline:none}.start-form input:focus,.form-stack input:focus,.form-stack textarea:focus,.edit-form input:focus,.edit-form textarea:focus,.task-add input:focus,.month-filter input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(152,30,88,.09);background:var(--surface)}.button{border:0;border-radius:11px;padding:12px 16px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800;cursor:pointer}.button.primary{background:var(--brand);color:#fff}.button.primary:hover{background:#7f1749}.button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--line)}.button.danger{background:#fff1f3;color:var(--danger);border:1px solid #efcbd2}.button.stop{background:var(--dark);color:#fff}.button.square{width:46px;height:46px;padding:0;background:var(--brand);color:#fff;font-size:1.2rem}.button.wide{width:100%}.start-button{height:46px}.text-button,.text-link{border:0;background:none;padding:0;margin-top:17px;color:var(--muted);font-size:.82rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.running-box{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px;border:1px solid rgba(152,30,88,.22);background:linear-gradient(135deg,rgba(152,30,88,.07),transparent);border-radius:16px}.live-dot{width:11px;height:11px;border-radius:50%;background:var(--brand-strong);box-shadow:0 0 0 6px rgba(199,55,120,.12)}.running-label{color:var(--muted);font-size:.75rem}.running-time{display:block;font-size:1.85rem;letter-spacing:-.04em;color:var(--ink);margin:3px 0}.running-main p{margin:0;font-weight:700}.running-main p small{display:block;margin-top:3px;color:var(--muted);font-weight:500}.task-count{font-size:.76rem;color:var(--muted)}.task-add{display:grid;grid-template-columns:1.2fr .8fr auto;gap:8px;margin-bottom:16px}.task-add input{padding:11px}.task-list{display:grid}.task{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.task:first-child{border-top:0}.task .check{width:24px;height:24px;border-radius:7px;border:1px solid #cfc6cc;background:transparent;cursor:pointer;color:#fff;font-size:.74rem}.task.done .check{background:var(--brand);border-color:var(--brand)}.task strong{font-size:.9rem}.task span{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}.task.done strong{text-decoration:line-through;color:var(--muted)}.task-delete button,.row-delete{border:0;background:none;color:#aaa1a8;font-size:1.25rem;cursor:pointer}.time-list{display:grid}.time-row{display:grid;grid-template-columns:112px 1fr auto auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.time-row:first-child{border-top:0}.time-range{display:flex;gap:5px;font-size:.8rem;color:var(--muted)}.time-desc strong{display:block;font-size:.9rem}.time-desc span{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}.duration{font-size:.8rem;font-weight:800;color:var(--ink)}.empty{color:var(--muted);font-size:.86rem}.hub-footer{text-align:center;color:var(--muted);font-size:.76rem;margin-top:28px}.hub-footer a{text-underline-offset:3px}.hub-footer span{margin:0 5px}.alert{padding:11px 13px;border-radius:10px;font-size:.82rem;margin:0 0 16px}.alert.success{background:#eaf6ef;color:#21684a;border:1px solid #c7e3d3}.alert.danger{background:#fff0f2;color:#8d3045;border:1px solid #ebcbd2}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:100;padding:20px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(16,11,19,.5);backdrop-filter:blur(4px)}.modal-panel{position:relative;width:min(100%,620px);background:var(--surface);border-radius:20px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.25);padding:28px}.modal-panel h2{margin:0 0 22px}.modal-close{position:absolute;right:16px;top:14px;border:0;background:none;font-size:1.6rem;color:var(--muted);cursor:pointer}.form-stack{display:grid;gap:14px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.sub-shell{width:min(100%,1000px);margin:0 auto;padding:0 28px 50px}.sub-header{height:94px;display:flex;align-items:center;justify-content:space-between}.sub-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:24px 0 26px}.sub-title h1{font-size:2.5rem}.sub-title p:last-child{margin:8px 0 0;color:var(--muted)}.month-total{text-align:right}.month-filter{width:190px;margin-bottom:15px}.table-card{padding:10px 20px}.edit-entry{border-top:1px solid var(--line)}.edit-entry:first-child{border-top:0}.edit-entry summary{display:grid;grid-template-columns:90px 115px 1fr auto;gap:14px;align-items:center;padding:17px 0;cursor:pointer;list-style:none}.edit-entry summary::-webkit-details-marker{display:none}.entry-date,.entry-hours{font-size:.8rem;color:var(--muted)}.entry-activity{font-size:.9rem}.entry-activity small{display:block;color:var(--muted);margin-top:2px}.edit-entry summary>strong{font-size:.82rem}.edit-form{padding:0 0 20px;display:grid;gap:12px}.form-actions{display:flex;gap:10px;align-items:center}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-card{padding:24px}.settings-card h2{margin-bottom:20px}.form-stack small{color:var(--muted);font-weight:500}.logout-line{text-align:center;margin-top:30px;color:var(--muted)}.link-admin>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.link-admin>div:first-child{border-top:0}.link-icon{width:34px;height:34px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.link-admin p{margin:0}.link-admin strong,.link-admin small{display:block}.link-admin small{margin-top:3px;color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}.auth-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#fff 0,#f5f2f5 46%,#efecef 100%);padding:24px}.auth-wrap{width:min(100%,470px)}.auth-panel{background:#fff;border:1px solid #e8e3e6;border-radius:22px;padding:38px;box-shadow:0 28px 80px rgba(20,12,22,.11)}.auth-logo{width:150px;height:auto;margin-bottom:30px}.auth-panel h1{font-size:2rem}.auth-copy{color:var(--muted);line-height:1.6;margin:10px 0 24px}.fineprint{font-size:.78rem;color:var(--muted);line-height:1.55;margin-top:18px}code{background:#f3eef1;padding:2px 5px;border-radius:5px}@media(max-width:800px){.hub-shell,.sub-shell{padding-left:16px;padding-right:16px}.topbar{height:76px}.hero{padding-top:25px}.dashboard-grid{grid-template-columns:1fr}.timer-card{padding:22px}.start-form{grid-template-columns:1fr}.task-add{grid-template-columns:1fr auto}.task-add input:nth-of-type(2){grid-column:1/2}.time-row{grid-template-columns:96px 1fr auto}.time-row form{display:none}.settings-grid{grid-template-columns:1fr}.sub-title{align-items:flex-start}.edit-entry summary{grid-template-columns:78px 90px 1fr}.edit-entry summary>strong{grid-column:3;text-align:right}.form-grid-3{grid-template-columns:1fr 1fr}.form-grid-3 label:first-child{grid-column:1/-1}}@media(max-width:520px){.brand img{width:116px}.hero-meta{font-size:.78rem;flex-wrap:wrap}.dot{display:none}.google-search{height:54px;border-radius:16px}.quick-links{margin-bottom:24px}.clock{font-size:3.5rem}.card-head{flex-direction:column}.today-total{text-align:left}.running-box{grid-template-columns:auto 1fr}.running-box form{grid-column:1/-1}.running-box .button{width:100%}.task-add{grid-template-columns:1fr auto}.task-add input:nth-of-type(2){grid-column:1/-1}.time-row{grid-template-columns:1fr auto}.time-range{grid-column:1}.time-desc{grid-column:1}.duration{grid-column:2;grid-row:1/3}.sub-title{flex-direction:column}.month-total{text-align:left}.edit-entry summary{grid-template-columns:1fr auto}.entry-date,.entry-hours{grid-column:1}.entry-hours{margin-top:-8px}.entry-activity{grid-column:1}.edit-entry summary>strong{grid-column:2;grid-row:1/4}.form-grid-3{grid-template-columns:1fr}.form-grid-3 label:first-child{grid-column:auto}.auth-panel{padding:28px 22px}}

/* ===== LEVCORE HUB v3 – Dark dashboard refinement ===== */
body.dark{
  --dark:#08070a;
  --brand:#b21f63;
  --brand-strong:#df2d7f;
  --brand-soft:rgba(178,31,99,.14);
  --text:#e8e4e8;
  --muted:#9a929b;
  --line:#302a31;
  --surface:#171319;
  --surface-alt:#0d0a0e;
  --ink:#ffffff;
  --success:#48b787;
  --danger:#ef6a7d;
  --shadow:0 18px 48px rgba(0,0,0,.28);
  background:
    radial-gradient(circle at 50% -20%, rgba(178,31,99,.09), transparent 38%),
    #0d0a0e;
}
body.dark .hub-shell{width:min(100%,1240px);padding-bottom:48px}
body.dark .topbar{height:88px;border-bottom:1px solid rgba(255,255,255,.035)}
body.dark .brand img{width:145px}
body.dark .brand span{color:#aaa2aa;border-color:#39323a}
body.dark .icon-button{background:#171319;border-color:#373039;color:#c4bdc4}
body.dark .avatar-button{background:#f4eff4;color:#171318;border-color:#f4eff4}
body.dark .hero{padding:30px 0 20px}
body.dark .clock{font-size:clamp(4rem,7.2vw,6.1rem);font-weight:800;text-shadow:0 8px 30px rgba(0,0,0,.35)}
body.dark .hero-meta{margin-top:18px;color:#a69fa6}
body.dark .google-search{width:min(100%,800px);height:60px;background:#151117;border-color:#342d35;box-shadow:0 14px 34px rgba(0,0,0,.25)}
body.dark .google-search input::placeholder{color:#7f7780}
body.dark .google-search button{background:linear-gradient(135deg,#a31d5b,#d62e79);box-shadow:0 8px 20px rgba(178,31,99,.28)}
body.dark .quick-links{margin:18px 0 30px}
body.dark .quick-links a{background:#171319;border-color:#342e35;box-shadow:none;color:#e7e2e7}
body.dark .quick-links a:hover{border-color:#5a3a4b;background:#1d181f}

body.dark .dashboard-grid{
  grid-template-columns:minmax(0,1.55fr) minmax(310px,.85fr);
  gap:18px;
  align-items:start;
}
body.dark .card{
  background:linear-gradient(180deg,#18141a 0%,#151116 100%);
  border:1px solid #332d34;
  border-radius:18px;
  box-shadow:0 16px 42px rgba(0,0,0,.24);
  overflow:hidden;
}
body.dark .timer-card{grid-column:1/-1;padding:26px 28px 24px}
body.dark .hub_tasks-card{padding:24px 26px;min-height:240px}
body.dark .entries-card{padding:24px 26px;min-height:240px}
body.dark .card-head{margin-bottom:20px}
body.dark .card-head.compact{margin-bottom:16px;min-height:40px}
body.dark .eyebrow{color:#df2d7f;font-size:.7rem;letter-spacing:.13em}
body.dark .card h2{font-size:1.26rem;line-height:1.2}
body.dark .today-total{min-width:88px;padding-left:18px;border-left:1px solid #302a31}
body.dark .today-total strong{display:block;margin-top:2px;font-size:1.22rem}

body.dark .start-form{grid-template-columns:minmax(0,1.65fr) minmax(230px,.85fr) 120px;gap:10px}
body.dark .start-form label{color:#b4adb4}
body.dark .start-form input,
body.dark .form-stack input,
body.dark .form-stack textarea,
body.dark .edit-form input,
body.dark .edit-form textarea,
body.dark .task-add input,
body.dark .month-filter input{
  min-height:44px;
  background:#100d12;
  border-color:#39323a;
  color:#f0ebef;
  border-radius:10px;
}
body.dark .start-form input::placeholder,
body.dark .task-add input::placeholder{color:#726b73}
body.dark .start-form input:focus,
body.dark .form-stack input:focus,
body.dark .form-stack textarea:focus,
body.dark .edit-form input:focus,
body.dark .edit-form textarea:focus,
body.dark .task-add input:focus,
body.dark .month-filter input:focus{
  background:#141016;
  border-color:#a72a61;
  box-shadow:0 0 0 3px rgba(178,31,99,.12);
}
body.dark .button.primary,
body.dark .button.square{background:linear-gradient(135deg,#a71e5c,#d02a75)}
body.dark .button.primary:hover{background:linear-gradient(135deg,#b72467,#dd327f)}
body.dark .button.secondary{background:#171319;border-color:#39323a;color:#ded8de}
body.dark .button.danger{background:rgba(166,49,66,.12);color:#ff8b9b;border-color:rgba(239,106,125,.3)}
body.dark .button.stop{background:#efeff1;color:#171318}
body.dark .text-button,body.dark .text-link{color:#aaa2aa}

body.dark .task-add{grid-template-columns:minmax(0,1.35fr) minmax(160px,.65fr) 44px;gap:8px;margin-bottom:10px}
body.dark .task-add input{height:44px;padding:10px 12px}
body.dark .button.square{width:44px;height:44px}
body.dark .task{padding:12px 2px;border-color:#2c262d}
body.dark .task .check{border-color:#57505a}
body.dark .task strong{color:#ece7ec}
body.dark .task-delete button,body.dark .row-delete{color:#817982}
body.dark .task-delete button:hover,body.dark .row-delete:hover{color:#ef6a7d}
body.dark .empty{margin:18px 0 2px;color:#8f8790}

body.dark .time-row{grid-template-columns:98px minmax(0,1fr) auto auto;gap:10px;padding:12px 0;border-color:#2c262d}
body.dark .time-range{white-space:nowrap;color:#9e969f}
body.dark .time-desc{min-width:0}
body.dark .time-desc strong{overflow-wrap:anywhere;color:#ece7ec}
body.dark .duration{white-space:nowrap;color:#fff}
body.dark .entries-card .empty{padding:4px 0}
body.dark .hub-footer{color:#777078;margin-top:24px}
body.dark .hub-footer a{color:#aaa2aa}

body.dark .running-box{border-color:rgba(223,45,127,.28);background:linear-gradient(135deg,rgba(178,31,99,.12),rgba(255,255,255,.015))}
body.dark .modal-backdrop{background:rgba(4,3,5,.78)}
body.dark .modal-panel{background:#171319;border-color:#38313a}
body.dark .alert.success{background:rgba(31,122,84,.14);color:#78d7ad;border-color:rgba(72,183,135,.26)}
body.dark .alert.danger{background:rgba(166,49,66,.14);color:#ff93a2;border-color:rgba(239,106,125,.26)}

/* Secondary pages */
body.dark .sub-shell{width:min(100%,1080px)}
body.dark .sub-header{border-bottom:1px solid rgba(255,255,255,.04)}
body.dark .table-card,body.dark .settings-card{background:#171319;border-color:#332d34}
body.dark .edit-entry,body.dark .link-admin>div{border-color:#2e2830}
body.dark code{background:#262027;color:#eee8ed}

/* Login / code screen */
body.auth-body{
  color:#e8e4e8;
  background:radial-gradient(circle at 50% 0,rgba(178,31,99,.16),transparent 36%),#0d0a0e;
}
body.auth-body .auth-panel{background:#171319;border-color:#342e35;box-shadow:0 28px 80px rgba(0,0,0,.4)}
body.auth-body .auth-panel h1{color:#fff}
body.auth-body .auth-copy,body.auth-body .fineprint{color:#9f979f}
body.auth-body .form-stack label{color:#b7afb7}
body.auth-body .form-stack input{background:#100d12;border-color:#3a323b;color:#fff}

@media(max-width:900px){
  body.dark .dashboard-grid{grid-template-columns:1fr}
  body.dark .timer-card{grid-column:auto}
  body.dark .start-form{grid-template-columns:1fr 1fr}
  body.dark .start-button{grid-column:1/-1;width:100%}
}
@media(max-width:640px){
  body.dark .hub-shell{padding-left:14px;padding-right:14px}
  body.dark .topbar{height:72px}
  body.dark .brand img{width:124px}
  body.dark .hero{padding-top:22px}
  body.dark .clock{font-size:3.6rem}
  body.dark .timer-card,body.dark .hub_tasks-card,body.dark .entries-card{padding:20px}
  body.dark .start-form{grid-template-columns:1fr}
  body.dark .start-button{grid-column:auto}
  body.dark .task-add{grid-template-columns:1fr 44px}
  body.dark .task-add input:nth-of-type(2){grid-column:1/-1;grid-row:2}
  body.dark .task-add .button.square{grid-column:2;grid-row:1/3;height:100%}
  body.dark .today-total{border-left:0;padding-left:0}
}

/* Persistent login */
.remember-row{
  display:flex!important;
  align-items:center;
  gap:10px;
  cursor:pointer;
  font-size:.92rem;
  font-weight:500;
  color:var(--muted,#a8a3ad);
  margin-top:2px;
}
.remember-row input[type="checkbox"]{
  appearance:auto;
  width:16px;
  height:16px;
  margin:0;
  accent-color:#a91458;
}
.remember-row span{line-height:1.2}
