:root{--purple:#7456ef;--pink:#ff8bab;--green:#c7ed92;--ink:#292443;--muted:#817990;--bg:#f7f5fd;--card:#fff;--line:#ece7f6}*{box-sizing:border-box}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink)}body.dark{--ink:#f4eefb;--muted:#b3a9c4;--bg:#191522;--card:#292235;--line:#40364d}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--purple)}.shell{max-width:650px;margin:auto;padding:22px 18px 110px}.brand{font-size:26px;font-weight:bold;letter-spacing:-1px}.brand span{color:var(--purple)}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.chip{background:var(--card);padding:8px 13px;border-radius:20px;font-size:12px;color:var(--muted)}h1{font-size:27px;margin:12px 0}h2{font-size:20px;margin:0 0 16px}h3{font-size:16px;margin:0 0 12px}p{line-height:1.8}.muted,small{color:var(--muted);font-size:12px;line-height:1.8}.hero{border-radius:26px;padding:25px;background:linear-gradient(135deg,#7859ef,#a270ec);color:white;position:relative;overflow:hidden}.hero p,.hero small{color:#eee4ff}.hero .orb{position:absolute;width:180px;height:180px;border:35px solid #ffffff12;border-radius:50%;right:-50px;top:-40px}.hero .flex{position:relative}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;margin:18px 0}.flex{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.primary,.soft,.danger{padding:12px 17px;border-radius:13px;background:var(--purple);color:white;font-weight:bold}.soft{background:var(--line);color:var(--ink)}.danger{background:#ffe2e6;color:#ad294c}.wide{width:100%}.ring{width:85px;height:85px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#d8f69d var(--pct),#ffffff33 0)}.ring b{width:66px;height:66px;border-radius:50%;background:#8862ef;display:grid;place-items:center;font-size:20px}.progress{height:9px;background:var(--line);border-radius:10px;overflow:hidden;margin-top:12px}.progress div{height:100%;background:var(--purple)}.task{border-inline-start:5px solid var(--purple)}.task.done{border-inline-start-color:#89c853}.task.partial{border-inline-start-color:#ffa745}.check{width:34px;height:34px;flex-shrink:0;border-radius:12px;border:2px solid #d3c8ec;background:transparent;color:var(--ink);font-size:20px}.done .check{background:#c7ed92;border-color:#c7ed92;color:#385525}.partial .check{background:#ffdcaa;border-color:#ffdcaa;color:#925711}.task h3{margin:0;overflow-wrap:anywhere}.task-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.mini{padding:7px 10px;border-radius:9px;background:var(--line);color:var(--muted);font-size:11px}.avatar{width:40px;height:40px;border-radius:12px;object-fit:cover}.photo{max-width:100%;max-height:260px;object-fit:contain;border-radius:12px;margin-top:10px}.note{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px}.note ul{padding-inline-start:20px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,650px);display:flex;background:var(--card);border-top:1px solid var(--line);padding:9px 5px calc(9px + env(safe-area-inset-bottom));z-index:10}.nav button{flex:1;background:none;color:var(--muted);font-size:10px;padding:7px 2px}.nav button strong{display:block;font-size:21px;margin-bottom:5px}.nav button.active{color:var(--purple)}input,select,textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);margin:7px 0;font-size:16px}textarea{resize:vertical;min-height:110px}label{display:block;font-size:13px;margin-top:10px}.columns{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.metric{padding:14px;background:var(--bg);border-radius:15px}.metric b{display:block;font-size:25px;margin-bottom:6px}.metric small{font-size:11px}.segments{display:flex;gap:5px;overflow:auto}.segments button{white-space:nowrap;flex:1;padding:10px;border-radius:12px;background:var(--line);color:var(--ink)}.segments .active{background:var(--purple);color:white}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:12px 0}.calendar button{border-radius:12px;aspect-ratio:1;background:var(--bg);color:var(--ink);font-size:13px;border:1px solid var(--line)}.calendar .chosen{outline:2px solid var(--purple)}.calendar .complete{background:#c7ed92;color:#385525}.calendar .some{background:#ffdcaa;color:#855015}.calendar .missed{background:#ffe1e8;color:#a23952}.weekday{font-size:10px;text-align:center;color:var(--muted)}.bar-chart{height:120px;display:flex;gap:5px;align-items:flex-end;padding-top:10px}.bar-chart .col{flex:1;text-align:center;min-width:0}.bar-chart .bar{border-radius:7px 7px 0 0;background:#a98af6;min-height:2px}.bar-chart small{font-size:9px}.chart{width:100%;height:150px}.auth{max-width:420px;margin:50px auto}.auth .logo{font-size:50px}.quote{border-inline-start:3px solid var(--pink);padding-inline-start:12px;margin:18px 0}.banner{padding:12px 15px;border-radius:12px;background:#fff0c9;color:#765b17;font-size:12px;margin:12px 0;line-height:1.8}.empty{text-align:center;padding:28px 10px}.empty .symbol{font-size:40px;margin-bottom:15px}dialog{width:calc(100% - 28px);max-width:540px;max-height:90vh;overflow:auto;border:0;border-radius:25px;padding:25px;background:var(--card);color:var(--ink)}dialog::backdrop{background:#21133999}.close{float:inline-end;background:var(--line);color:var(--ink);border-radius:50%;width:32px;height:32px;font-size:20px}.days{display:flex;flex-wrap:wrap;gap:6px}.days label{background:var(--line);border-radius:9px;padding:9px;display:flex;align-items:center;gap:5px}.days input{width:auto;margin:0}.toolbar{display:flex;gap:7px}.toolbar button{padding:8px 12px;background:var(--line);color:var(--ink);border-radius:8px}#toast{position:fixed;top:15px;left:50%;transform:translateX(-50%);max-width:90%;background:#292443;color:white;border-radius:14px;padding:12px 18px;z-index:100;display:none;font-size:13px}.reorder{display:flex;gap:5px;margin-top:8px}.profile{width:75px;height:75px;border-radius:24px;object-fit:cover}.period{background:linear-gradient(110deg,var(--card),var(--line))}.footer{text-align:center;font-size:11px;color:var(--muted);margin:24px 0}.loading{text-align:center;margin:120px 0}.no-print{}@media print{.nav,.top,.no-print,dialog,#toast{display:none!important}.shell{max-width:none;padding:0}.card{break-inside:avoid;border-color:#ccc}body{background:white;color:black}.photo{max-height:200px}}@media(min-width:700px){.shell{padding-top:35px}.nav{border-radius:20px 20px 0 0}}

@media print{body.print-modal #app{display:none!important}body.print-modal dialog{display:block!important;position:static;max-height:none;width:100%;max-width:none;border-radius:0}body.print-modal .close,body.print-modal button{display:none!important}}

.drag{touch-action:none;user-select:none;font-size:20px;min-width:42px}

/* DAILY YOU PERSIAN FONT BEGIN */
@font-face {
  font-family: 'DailyYouVazirmatn';
  src: url('fonts/vazirmatn-arabic.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-08FF,
                 U+200C-200E,U+FB50-FDFF,U+FE70-FEFC;
}
body {
  font-family: 'DailyYouVazirmatn',system-ui,-apple-system,
               'Segoe UI',Tahoma,sans-serif;
}
html[lang="fa"] body { line-height: 1.8; }
html[lang="fa"] h1,
html[lang="fa"] h2,
html[lang="fa"] h3 { letter-spacing: 0; font-weight: 700; }
html[lang="fa"] .nav button,
html[lang="fa"] .mini { font-size: 12px; }
html[lang="fa"] .task h3 { line-height: 1.8; }
/* DAILY YOU PERSIAN FONT END */

/* DAILY YOU CALENDAR COLORS BEGIN */
.calendar button.split-day {
  display: grid;
  place-items: center;
}
.calendar .split-day .day-num {
  display: grid;
  place-items: center;
  min-width: 26px;
  min-height: 26px;
  padding: 2px 5px;
  border-radius: 50%;
  background: var(--card);
  color: var(--ink);
  font-weight: 700;
}
/* DAILY YOU CALENDAR COLORS END */

/* DY MOTIVATION CARD BEGIN */
.quote {
  margin: 20px 0;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-inline-start: 5px solid var(--purple);
  border-radius: 20px;
  background: linear-gradient(135deg,var(--card),var(--line));
  box-shadow: 0 7px 20px rgba(116,86,239,.09);
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.9;
}
.quote::before {
  content: "✦";
  display: block;
  color: var(--purple);
  font-size: 24px;
  line-height: 1;
  margin-bottom: 10px;
}
/* DY MOTIVATION CARD END */
