:root{--accent:#ff5c8a;--primary:#ff8fb1;--soft:#ffd9e5;--bg:#fff5f8;--ink:#29262b;--muted:#7b747c;--line:rgba(41,38,43,.12);--white:#fff;--green:#1e9a6d;--red:#db4f58;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);letter-spacing:0}
html[data-user=xuxu]{--accent:#3489f5;--primary:#65a8ff;--soft:#d8e9ff;--bg:#f4f9ff}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);min-height:100vh}
button,input,textarea,select{font:inherit}
.app-shell{max-width:1120px;margin:auto;min-height:100vh;padding:0 28px 110px}
.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:12px;align-items:center;font-weight:750}
.brand-mark{width:32px;height:32px;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:11px}
.person-switch{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.7);border:1px solid var(--line);padding:7px 12px}
.person-option{border:0;background:none;color:var(--muted);padding:5px;cursor:pointer;font-weight:700}
html[data-user=xiaoyang] [data-switch-user=xiaoyang],html[data-user=xuxu] [data-switch-user=xuxu]{color:var(--accent)}
.switch-track{width:50px;height:24px;background:var(--soft);position:relative}
.switch-knob{width:18px;height:18px;position:absolute;top:3px;left:4px;background:var(--accent);transition:.25s}
html[data-user=xuxu] .switch-knob{transform:translateX(24px)}
.hero,.points-hero{display:grid;grid-template-columns:1fr 300px;gap:64px;align-items:center;padding:64px 0 54px}
.eyebrow{font-size:11px;font-weight:850;color:var(--accent);letter-spacing:2px;margin:0 0 13px}
.hero h1,.page-heading h1,.points-hero h1{font-size:48px;line-height:1;margin:0;letter-spacing:0}
.title-symbol{font-size:23px;color:var(--accent);margin-left:13px;vertical-align:top}
.hero-copy,.page-heading>p:last-child,.points-hero>div>p:last-child{color:var(--muted);margin:15px 0 0}
.points-panel{background:var(--ink);color:#fff;padding:25px 28px;text-decoration:none;display:grid;grid-template-columns:1fr auto;align-items:end;box-shadow:12px 12px 0 var(--soft)}
.points-panel span{font-size:13px;color:#c9c4ca}
.points-panel strong{font-size:54px;line-height:1;grid-row:1/3;grid-column:2}
.points-panel small{color:var(--primary);margin-top:12px}
.content-section{margin-bottom:42px}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}
.section-heading>div{display:flex;align-items:center;gap:11px}
.section-heading h2{font-size:21px;margin:0}
.section-heading>span{font-size:12px;color:var(--muted)}
.section-index{color:var(--accent);font-size:11px;font-weight:850}
.task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.task-card{background:rgba(255,255,255,.84);border:1px solid var(--line);padding:20px;cursor:pointer;transition:transform .18s,border-color .18s}
.task-card:hover{transform:translateY(-2px);border-color:var(--primary)}
.task-card.completed{opacity:.68;cursor:default}
.task-top{display:flex;align-items:flex-start;gap:14px}
.task-check{flex:0 0 25px;height:25px;border:2px solid var(--soft);display:grid;place-items:center;color:#fff;background:transparent}
.completed .task-check{background:var(--accent);border-color:var(--accent)}
.task-main{min-width:0;flex:1}
.task-main h3,.plan-row h3{font-size:16px;margin:1px 0 6px}
.task-main p,.plan-row p{font-size:12px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reward{font-size:19px;color:var(--accent)}
.progress-row{display:flex;gap:14px;align-items:center;margin-top:20px}
.progress-track{height:4px;background:var(--soft);flex:1;overflow:hidden}
.progress-track span{display:block;height:100%;background:var(--accent)}
.remaining{color:var(--muted);font-size:11px;min-width:96px;text-align:right}
.empty-state{background:rgba(255,255,255,.55);border:1px dashed var(--line);padding:32px;text-align:center;color:var(--muted);line-height:2;grid-column:1/-1}
.empty-state a{color:var(--accent)}
.empty-state.large{padding:55px}
.bottom-nav{position:fixed;z-index:10;bottom:18px;left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 32px));height:70px;background:rgba(41,38,43,.96);display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 12px 35px rgba(0,0,0,.18)}
.bottom-nav a{color:#aaa5ab;text-decoration:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px}
.bottom-nav a.active{color:#fff;background:var(--accent)}
.nav-icon{font-size:20px}
.flash-stack{position:fixed;z-index:30;top:20px;left:50%;transform:translateX(-50%);width:min(430px,calc(100% - 32px))}
.flash{padding:14px 18px;background:var(--ink);color:#fff;margin-bottom:8px;box-shadow:0 7px 25px rgba(0,0,0,.18);transition:.3s}
.flash.error{background:var(--red)}
.flash.hide{opacity:0;transform:translateY(-8px);pointer-events:none}
.task-dialog{width:min(500px,calc(100% - 28px));border:0;padding:32px;background:#fff;color:var(--ink);box-shadow:0 25px 80px rgba(0,0,0,.25)}
.task-dialog::backdrop{background:rgba(28,25,29,.58);backdrop-filter:blur(4px)}
.task-dialog h2{font-size:29px;margin:0 0 10px}
.dialog-close{position:absolute;right:20px;top:17px;border:0;background:none;font-size:27px;color:var(--muted);cursor:pointer}
.muted{color:var(--muted)}
.dialog-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}
.dialog-facts div{padding:17px 0}
.dialog-facts span,.dialog-facts strong{display:block}
.dialog-facts span{font-size:11px;color:var(--muted);margin-bottom:6px}
.dialog-facts strong{color:var(--accent)}
.upload-zone{min-height:145px;border:1px dashed var(--primary);background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;margin-bottom:16px}
.upload-zone input{position:absolute;opacity:0;pointer-events:none}
.upload-zone small{color:var(--muted);margin-top:5px}
.upload-icon{font-size:25px;color:var(--accent)}
.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.evidence-preview{display:none;width:100%;height:220px;object-fit:contain;background:#fff;border-radius:6px}
.replace-image{display:none;position:absolute;right:10px;bottom:10px;padding:7px 11px;color:#fff;background:rgba(64,58,70,.72);border-radius:999px;font-size:12px;backdrop-filter:blur(8px)}
.upload-zone.has-file{position:relative;min-height:220px;padding:8px;border-style:solid;background:#fff}
.upload-zone.has-file .upload-placeholder{display:none}
.upload-zone.has-file .evidence-preview,.upload-zone.has-file .replace-image{display:block}
.primary-button{border:0;background:var(--accent);color:#fff;padding:14px 22px;font-weight:750;cursor:pointer}
.primary-button:hover{filter:brightness(.94)}
.primary-button:disabled{opacity:.4;cursor:not-allowed}
.full{width:100%}
.page-heading{padding:55px 0 38px;border-bottom:1px solid var(--line);margin-bottom:34px}
.page-heading h1{font-size:39px}
.split-layout,.points-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start}
.plan-group{margin-bottom:35px}
.plan-row{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.78);border-bottom:1px solid var(--line);padding:18px}
.plan-row.disabled{opacity:.45}
.row-actions{display:flex;gap:6px}
.row-actions form{margin:0}
.icon-button{width:36px;height:36px;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;text-decoration:none;cursor:pointer}
.form-panel{background:#fff;border:1px solid var(--line);padding:28px;position:sticky;top:24px;box-shadow:10px 10px 0 var(--soft)}
.form-panel h2{margin:0 0 24px;font-size:25px}
.stack-form{display:flex;flex-direction:column;gap:16px}
.stack-form label>span{font-size:12px;font-weight:700;display:block;margin-bottom:7px}
.stack-form input,.stack-form textarea,.stack-form select{width:100%;border:1px solid var(--line);background:#fff;padding:11px 12px;color:var(--ink);outline:none}
.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus{border-color:var(--accent)}
.stack-form textarea{resize:vertical}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.text-button{text-align:center;color:var(--muted);font-size:13px}
.settlement-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.settlement-person{background:#fff;border:1px solid var(--line);padding:27px;border-top:4px solid #ff8fb1}
.settlement-person.blue{border-top-color:#65a8ff}
.settlement-title,.settlement-title>div{display:flex;align-items:center;justify-content:space-between}
.settlement-title>div{gap:9px}
.settlement-title h2{margin:0}
.settlement-title>strong{font-size:30px;color:var(--accent)}
.settlement-items{margin:25px 0;min-height:100px}
.settlement-items a{display:grid;grid-template-columns:24px 1fr auto;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px}
.mini-check{color:var(--green)}
.empty-inline{color:var(--muted);padding:30px 0;text-align:center}
.confirm-state{text-align:center;padding:14px;border:1px solid var(--line)}
.confirm-state.done{color:var(--green);background:#edf9f5;border-color:#c8eade}
.confirm-state.cleared{animation:settlement-cleared .5s ease both}
.primary-button.settling{position:relative;overflow:hidden;animation:settlement-button .42s ease both}
.primary-button.settling::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.22);transform:translateX(-100%);animation:settlement-sheen .42s ease}
@keyframes settlement-button{50%{transform:scale(.97)}100%{transform:scale(1)}}
@keyframes settlement-sheen{to{transform:translateX(100%)}}
@keyframes settlement-cleared{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.settlement-note{display:flex;gap:14px;margin:23px auto;max-width:620px;color:var(--muted);font-size:13px;align-items:center;justify-content:center}
.settlement-note>span{width:24px;height:24px;border:1px solid var(--line);display:grid;place-items:center}
.date-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:17px}
.date-tabs a{background:#fff;border:1px solid var(--line);padding:8px 13px;text-decoration:none;color:var(--muted);font-size:12px}
.date-tabs a.active{background:var(--ink);color:#fff}
.points-hero{border-bottom:1px solid var(--line)}
.points-number{display:flex;flex-direction:column;text-align:right}
.points-number span{color:var(--muted);font-size:12px}
.points-number strong{font-size:70px;line-height:1;color:var(--accent)}
.points-number small{font-size:10px;letter-spacing:3px;margin-top:8px}
.points-layout{margin-top:38px}
.transaction{display:grid;grid-template-columns:95px 1fr auto;gap:18px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}
.tx-date{font-size:12px;color:var(--muted)}
.tx-reason strong,.tx-reason span,.tx-amount small{display:block}
.tx-reason strong{font-size:14px;margin-bottom:5px}
.tx-reason span,.tx-amount small{font-size:11px;color:var(--muted)}
.tx-amount{font-size:22px;font-weight:800;text-align:right}
.tx-amount.positive{color:var(--green)}
.tx-amount.negative{color:var(--red)}
.history-link,.back-link{color:var(--accent);font-size:13px;font-weight:700;text-decoration:none}
.back-link{display:inline-block;margin-bottom:22px}
.history-filters{margin-bottom:24px;padding:18px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.95);border-radius:8px;box-shadow:0 8px 28px rgba(91,70,97,.06)}
.filter-types{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px}
.filter-types label{flex:0 0 auto;position:relative}
.filter-types input{position:absolute;opacity:0;pointer-events:none}
.filter-types span{display:block;padding:9px 14px;color:var(--muted);background:var(--bg);border-radius:999px;font-size:13px;white-space:nowrap;cursor:pointer}
.filter-types input:checked+span{color:#fff;background:var(--accent)}
.date-filter-row{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:end}
.date-filter-row label>span{display:block;margin-bottom:6px;color:var(--muted);font-size:11px}
.date-filter-row input{width:100%;min-height:42px;padding:8px 10px;color:var(--ink);background:#fcfbfd;border:1px solid var(--line);border-radius:6px}
.filter-button,.reset-filter{min-height:42px;padding:10px 16px;border:0;border-radius:999px;font-weight:700;cursor:pointer}
.filter-button{color:#fff;background:var(--accent)}
.reset-filter{display:grid;place-items:center;color:var(--muted);background:var(--bg);text-decoration:none;font-size:13px}
.history-full-list{padding:0 2px}
.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:26px}
.pagination a{width:max-content;padding:9px 15px;color:var(--accent);background:#fff;border-radius:999px;text-decoration:none;font-size:13px;font-weight:700}
.pagination a:last-child{justify-self:end}.pagination strong{color:var(--muted);font-size:12px}
.segmented{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);padding:3px}
.segmented label{display:block;min-width:0;margin:0;position:relative}
.segmented input{position:absolute;width:1px!important;height:1px;opacity:0;pointer-events:none}
.segmented label span{display:flex!important;align-items:center;justify-content:center;min-height:42px;padding:10px!important;text-align:center;margin:0!important;cursor:pointer;white-space:nowrap}
.segmented input:checked+span{background:var(--accent);color:#fff}
.segmented input[value="add"]:checked+span{background:var(--green);color:#fff}
.segmented input[value="subtract"]:checked+span{background:var(--red);color:#fff}

@media(max-width:720px){.app-shell{padding:0 16px 105px}
.topbar{height:72px}
.brand>span:last-child{display:none}
.hero,.points-hero{grid-template-columns:1fr;gap:28px;padding:40px 0}
.hero h1,.page-heading h1,.points-hero h1{font-size:38px}
.points-panel{width:100%}
.task-list,.settlement-grid{grid-template-columns:1fr}
.split-layout,.points-layout{grid-template-columns:1fr;gap:28px}
.form-panel{position:static;box-shadow:7px 7px 0 var(--soft)}
.page-heading{padding:37px 0 28px;margin-bottom:25px}
.settlement-person{padding:21px}
  .transaction{grid-template-columns:1fr auto}
.tx-date{grid-column:1/-1;margin-bottom:-10px}
.points-number{text-align:left}
.points-number strong{font-size:61px}
.form-grid{grid-template-columns:1fr}
.person-switch{gap:7px;padding:6px 8px}
.switch-track{width:43px}
.switch-knob{width:17px}
html[data-user=xuxu] .switch-knob{transform:translateX(18px)}
.remaining{min-width:90px}
.bottom-nav{bottom:10px}
.task-dialog{padding:27px 21px}
}

/* Softer shape system */
.brand-mark,
.task-card,
.empty-state,
.task-dialog,
.plan-row,
.form-panel,
.settlement-person,
.confirm-state,
.flash,
.points-panel {
  border-radius: 8px;
}

.person-switch,
.switch-track,
.progress-track,
.bottom-nav {
  border-radius: 999px;
}

.switch-knob {
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(41, 38, 43, .14);
}

.primary-button,
.icon-button,
.stack-form input,
.stack-form textarea,
.stack-form select,
.date-tabs a,
.segmented,
.segmented label span,
.upload-zone,
.dialog-facts,
.settlement-note > span {
  border-radius: 6px;
}

.task-check,
.mini-check {
  border-radius: 50%;
}

.task-card,
.plan-row,
.form-panel,
.settlement-person,
.points-panel {
  box-shadow: 0 8px 24px rgba(41, 38, 43, .06);
}

.task-card:hover {
  box-shadow: 0 12px 28px rgba(41, 38, 43, .1);
}

.bottom-nav {
  overflow: hidden;
}

.bottom-nav a {
  min-width: 0;
}

.bottom-nav a:first-child {
  border-radius: 999px 0 0 999px;
}

.bottom-nav a:last-child {
  border-radius: 0 999px 999px 0;
}

.site-footer {
  padding: 20px 0 8px;
  text-align: center;
  font-size: 11px;
  color: var(--muted);
}

.site-footer a {
  color: inherit;
  text-decoration: none;
}

.site-footer a:hover {
  color: var(--accent);
  text-decoration: underline;
}

.auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 184px;
  padding: 4px;
  background: rgba(255, 255, 255, .9);
  border: 1px solid rgba(92, 76, 98, .09);
  border-radius: 999px;
  box-shadow: 0 6px 22px rgba(75, 59, 81, .07);
}

.auth-tabs button {
  min-height: 36px;
  padding: 7px 18px;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.auth-tabs button.active {
  color: #fff;
  background: var(--accent);
  box-shadow: 0 5px 14px rgba(255, 92, 138, .22);
}

html[data-user=xuxu] .auth-tabs button.active {
  box-shadow: 0 5px 14px rgba(52, 137, 245, .22);
}

/* Bright, mobile-first visual refresh */
:root {
  --ink: #403a46;
  --muted: #8b8490;
  --line: rgba(92, 76, 98, .1);
  --surface: rgba(255, 255, 255, .9);
}

body {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .7), transparent 240px),
    var(--bg);
}

.topbar {
  border-bottom: 0;
}

.brand-mark {
  color: #fff;
  background: var(--accent);
  box-shadow: 0 6px 16px rgba(255, 92, 138, .2);
}

html[data-user=xuxu] .brand-mark {
  box-shadow: 0 6px 16px rgba(52, 137, 245, .2);
}

.person-switch {
  background: rgba(255, 255, 255, .88);
  border-color: rgba(255, 255, 255, .9);
  box-shadow: 0 6px 22px rgba(75, 59, 81, .07);
}

.hero,
.points-hero {
  padding-top: 42px;
}

.hero h1,
.page-heading h1,
.points-hero h1 {
  color: #4b4350;
}

.points-panel {
  color: var(--ink);
  background: rgba(255, 255, 255, .94);
  border: 1px solid rgba(255, 255, 255, .95);
  box-shadow: 0 12px 35px rgba(93, 68, 99, .09);
}

.points-panel span {
  color: var(--muted);
}

.points-panel strong,
.points-number strong {
  color: var(--accent);
}

.points-panel small {
  color: var(--green);
  background: #edf9f5;
  border-radius: 999px;
  padding: 5px 9px;
  width: max-content;
}

.task-card,
.plan-row,
.form-panel,
.settlement-person {
  background: var(--surface);
  border-color: rgba(255, 255, 255, .85);
  box-shadow: 0 8px 28px rgba(91, 70, 97, .07);
}

.task-card:hover {
  border-color: var(--soft);
  box-shadow: 0 12px 30px rgba(91, 70, 97, .1);
}

.reward {
  background: var(--bg);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 15px;
}

.form-panel {
  box-shadow: 0 10px 32px rgba(91, 70, 97, .08);
}

.primary-button {
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(255, 92, 138, .2);
}

html[data-user=xuxu] .primary-button {
  box-shadow: 0 8px 18px rgba(52, 137, 245, .2);
}

.stack-form input,
.stack-form textarea,
.stack-form select {
  background: #fcfbfd;
  border-color: rgba(92, 76, 98, .12);
}

.bottom-nav {
  color: var(--ink);
  background: rgba(255, 255, 255, .94);
  border: 1px solid rgba(255, 255, 255, .95);
  box-shadow: 0 12px 38px rgba(70, 52, 76, .16);
  backdrop-filter: blur(18px);
}

.bottom-nav a {
  color: #aaa2af;
}

.bottom-nav a.active {
  color: var(--accent);
  background: var(--bg);
}

.nav-icon {
  font-size: 19px;
  font-weight: 700;
}

.flash {
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--soft);
}

.flash.error {
  color: var(--red);
  background: #fff3f4;
}

.dialog-close,
.icon-button {
  color: var(--muted);
  background: var(--bg);
}

@media (max-width: 720px) {
  body {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .75), transparent 190px),
      var(--bg);
  }

  .app-shell {
    padding: 0 14px 100px;
  }

  .topbar {
    height: 64px;
    position: sticky;
    top: 0;
    z-index: 8;
    background: var(--bg);
    border-bottom: 1px solid rgba(92, 76, 98, .06);
    backdrop-filter: none;
    margin: 0 -14px;
    padding: 0 14px;
  }

  .brand-mark {
    width: 30px;
    height: 30px;
  }

  .person-switch {
    height: 42px;
  }

  .auth-tabs {
    width: 156px;
    padding: 3px;
  }

  .auth-tabs button {
    min-height: 34px;
    padding: 6px 13px;
    font-size: 13px;
  }

  .hero,
  .points-hero {
    gap: 20px;
    padding: 28px 2px 34px;
  }

  .hero h1,
  .points-hero h1 {
    font-size: 34px;
  }

  .hero-copy {
    margin-top: 10px;
    font-size: 14px;
  }

  .points-panel {
    min-height: 112px;
    padding: 20px;
    box-shadow: 0 10px 28px rgba(91, 70, 97, .08);
  }

  .points-panel strong {
    font-size: 48px;
  }

  .content-section {
    margin-bottom: 32px;
  }

  .task-list {
    gap: 10px;
  }

  .task-card {
    padding: 17px 15px;
  }

  .task-main h3 {
    font-size: 15px;
  }

  .progress-row {
    margin-top: 16px;
  }

  .page-heading {
    padding: 30px 2px 24px;
  }

  .page-heading h1 {
    font-size: 31px;
  }

  .bottom-nav {
    bottom: 10px;
    height: 66px;
    width: calc(100% - 24px);
  }

  .bottom-nav a.active {
    margin: 5px 4px;
    border-radius: 999px;
  }

  .bottom-nav a:first-child,
  .bottom-nav a:last-child {
    border-radius: 999px;
  }

  .segmented {
    width: 100%;
    gap: 4px;
    padding: 4px;
    overflow: hidden;
  }

  .segmented label span {
    min-height: 44px;
  }

  .form-panel,
  .settlement-person {
    padding: 20px 17px;
  }

  .history-heading {
    margin-bottom: 16px;
  }

  .history-filters {
    margin: 0 -2px 18px;
    padding: 14px;
  }

  .filter-types {
    margin-right: -14px;
    padding-right: 14px;
  }

  .date-filter-row {
    grid-template-columns: 1fr 1fr;
  }

  .filter-button,
  .reset-filter {
    width: 100%;
  }

  .task-dialog {
    width: 100%;
    max-width: none;
    margin: auto 0 0;
    padding: 26px 18px calc(18px + env(safe-area-inset-bottom));
    border-radius: 18px 18px 0 0;
  }

  .task-dialog h2 {
    padding-right: 30px;
    font-size: 24px;
  }

  .dialog-facts {
    margin: 18px 0;
  }

  .upload-zone {
    min-height: 132px;
    margin-bottom: 12px;
    border-radius: 8px;
  }

  .upload-zone.has-file,
  .evidence-preview {
    min-height: 210px;
    height: min(42vh, 320px);
  }

  #complete-submit {
    min-height: 50px;
  }
}
