[data-daily-planner-root], [data-guitar-v2-root], [data-simple-module-root] { box-sizing:border-box; width: 100%; min-width:0; max-width: 1500px; margin: 0 auto; padding: 38px 4.5% 70px; overflow-x:hidden; }
.daily-objective-list:empty { display:none; }
main:has(> [data-daily-planner-root]) > .page, main:has(> [data-guitar-v2-root]) > .page { display: none !important; }
.daily-dashboard { max-width: 1080px; margin: 0 auto; }
.daily-shortcuts{margin-top:16px;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.daily-shortcuts h2{margin:0 0 13px;font-size:20px}.daily-shortcuts>div{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.daily-shortcuts button{display:grid;justify-items:start;gap:10px;min-height:105px;border:1px solid var(--line);border-radius:16px;padding:15px;color:var(--text);background:var(--surface-2);cursor:pointer;text-align:left}.daily-shortcuts button span{color:var(--pink);font:800 27px var(--font-display)}.daily-shortcuts button strong{font-size:14px}
.daily-dashboard button, .daily-dashboard input { font-family: var(--font-body); }
.daily-calendar-card { min-height: 0; padding: clamp(22px, 4vw, 42px); border: 1px solid var(--line); border-radius: 28px; background: var(--surface); box-shadow: 0 22px 70px rgba(8, 3, 25, .16); }
.daily-calendar-head, .daily-month-nav, .daily-section-title, .daily-chooser header, .daily-plan-modal > header, .daily-plan-modal > footer { display: flex; align-items: center; justify-content: space-between; }
.daily-calendar-head h1 { margin: 5px 0 0; font-size: clamp(28px, 4vw, 44px); }
.daily-view-toggle { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-2); }
.daily-view-toggle button { border: 0; border-radius: 9px; padding: 9px 14px; color: var(--muted); background: transparent; cursor: pointer; font-weight: 700; }
.daily-view-toggle button.active { color: #fff; background: linear-gradient(135deg, var(--pink), var(--purple)); }
.daily-month-nav { margin: 28px 0 18px; }
.daily-month-nav strong { text-transform: capitalize; font: 800 18px var(--font-display); }
.daily-month-nav button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 12px; color: var(--text); background: var(--surface-2); cursor: pointer; }
.daily-weekdays, .daily-month-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.daily-weekdays span { padding: 10px; color: var(--muted); font-size: 11px; font-weight: 800; text-align: center; }
.daily-month-grid { gap: 7px; }
.daily-day { position: relative; display: grid; min-width: 0; aspect-ratio: 1; place-items: center; border: 1px solid transparent; border-radius: 15px; color: var(--text); background: var(--surface-2); cursor: pointer; font-weight: 700; transition: .18s; }
.daily-day:hover { transform: translateY(-2px); border-color: rgba(236, 72, 153, .38); }
.daily-day.outside { opacity: .28; }
.daily-day.today { border-color: rgba(124, 58, 237, .55); box-shadow: inset 0 0 0 1px rgba(124, 58, 237, .2); }
.daily-day.planned { border-color:rgba(255,159,28,.24); background:rgba(255,159,28,.16); }
.daily-day.finished { border-color:rgba(67,217,163,.26); background:rgba(67,217,163,.17); }
.daily-day i, .daily-week-list i, .daily-calendar-legend i { width: 9px; height: 9px; border-radius: 50%; }
.daily-day i { position: absolute; bottom: 9px; }
.daily-day i.planned, .daily-week-list i.planned, .daily-calendar-legend i.planned { background: #ff9f1c; box-shadow: 0 0 10px rgba(255,159,28,.5); }
.daily-day i.finished, .daily-week-list i.finished, .daily-calendar-legend i.finished { background: #43d9a3; box-shadow: 0 0 10px rgba(67,217,163,.45); }
.daily-calendar-legend { display: flex; justify-content: center; gap: 22px; margin-top: 20px; color: var(--muted); font-size: 11px; }
.daily-calendar-legend span { display: flex; align-items: center; gap: 7px; }
.daily-week-list { display: grid; gap: 9px; }
.daily-week-list > button { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; width: 100%; padding: 16px; border: 1px solid var(--line); border-radius: 16px; color: var(--text); background: var(--surface-2); text-align: left; cursor: pointer; }
.daily-week-number { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--pink), var(--purple)); font: 800 17px var(--font-display); }
.daily-week-list strong, .daily-week-list small { display: block; text-transform: capitalize; }
.daily-week-list small { margin-top: 4px; color: var(--muted); }
.daily-week-list b { color: var(--pink); font-size: 23px; }

.daily-modal-backdrop, .daily-chooser-layer { position: fixed; z-index: 1000; inset: 0; display: grid; min-width:0; place-items: center; padding: 12px; background: rgba(8,3,24,.76); backdrop-filter: blur(10px); }
.daily-plan-modal, .daily-chooser { box-sizing:border-box; width: min(720px, calc(100vw - 24px)); min-width:0; max-height: calc(100dvh - 24px); overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 27px; background: var(--surface); box-shadow: 0 34px 110px rgba(0,0,0,.55); animation: dailyModalIn .2s ease; }
@keyframes dailyModalIn { from { opacity: 0; transform: translateY(12px) scale(.98); } }
.daily-plan-modal > header, .daily-chooser header { gap: 12px; padding: 22px 24px; border-bottom: 1px solid var(--line); }
.daily-plan-modal header span, .daily-chooser header span { color: var(--pink); font-size: 10px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; }
.daily-plan-modal h2, .daily-chooser h3 { margin: 4px 0 0; text-transform: capitalize; }
.daily-plan-modal header button, .daily-chooser header > button { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border: 1px solid var(--line); border-radius: 11px; color: var(--muted); background: var(--surface-2); cursor: pointer; font-size: 20px; }
.daily-plan-scroll { max-height: calc(100dvh - 190px); overflow: auto; padding: 22px 24px 30px; }
.daily-routine-section, .daily-objectives-section { padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface-2); }
.daily-objectives-section { margin-top: 16px; }
.daily-routine-section h3, .daily-objectives-section h3 { margin: 0 0 15px; font-size: 18px; }
.daily-section-title span { display: grid; min-width: 39px; height: 26px; place-items: center; border-radius: 999px; color: #ffc26b; background: rgba(255,159,28,.12); font-size: 11px; font-weight: 800; }
.daily-check-row { display: flex; align-items: center; gap: 11px; padding: 11px 0; cursor: pointer; }
.daily-check-row input, .daily-objective label input { position: absolute; opacity: 0; }
.daily-check-ui { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; border: 1px solid var(--line); border-radius: 9px; color: transparent; background: var(--surface); font-weight: 900; }
input:checked + .daily-check-ui { color: #10241d; border-color: transparent; background: #43d9a3; }
.daily-check-row strong, .daily-check-row small { display: block; }
.daily-check-row small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.daily-gratitude-list { display: grid; gap: 7px; margin: 5px 0 5px 39px; }
.daily-gratitude-list label { display: flex; align-items: center; gap: 8px; }
.daily-gratitude-list label span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 7px; color: var(--muted); background: var(--surface); font-size: 9px; font-weight: 800; }
.daily-gratitude-list input { flex: 1; min-width: 0; border: 0; border-bottom: 1px solid var(--line); padding: 9px 4px; color: var(--text); background: transparent; outline: 0; }
.daily-objective-list { display: grid; grid-template-columns:1fr 1fr; gap: 8px; }
.daily-objective-placeholder { display:flex; align-items:center; gap:10px; min-height:64px; padding:11px 13px; border:1px dashed var(--line); border-radius:14px; color:var(--muted); background:color-mix(in srgb,var(--surface) 72%,transparent); }
.daily-objective-placeholder span { display:grid; width:29px; height:29px; place-items:center; border-radius:9px; color:var(--muted); background:var(--surface-2); font-size:11px; font-weight:800; }
.daily-objective-placeholder strong { font-size:13px; }
.daily-objective { display: grid; grid-template-columns: auto 1fr auto; align-items: center; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.daily-objective.done { opacity: .66; }
.daily-objective > label { padding-left: 12px; cursor: pointer; }
.daily-objective > button { border: 0; color: var(--text); background: transparent; cursor: pointer; }
.daily-objective > button:nth-of-type(1) { display: flex; align-items: center; gap: 10px; padding: 11px; text-align: left; }
.daily-objective > button:last-child { padding: 12px; color: var(--muted); font-size: 18px; }
.daily-objective i { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(135deg, var(--pink), var(--purple)); font-style: normal; }
.daily-objective strong, .daily-objective small { display: block; }
.daily-objective small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.daily-add-objective { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; margin-top:10px; border:1px dashed rgba(124,58,237,.48); border-radius:12px; color:var(--text); background:rgba(124,58,237,.08); cursor:pointer; font-weight:800; }
.daily-add-objective span { color:var(--purple); font-size:20px; }
.daily-plan-modal > footer, .daily-chooser > footer { gap: 14px; padding: 18px 24px 22px; border-top: 1px solid var(--line); }
.daily-plan-modal > footer > div { display:flex; gap:9px; }
.daily-primary, .daily-secondary, .daily-danger { min-height: var(--diaro-control-height,45px); border-radius: var(--diaro-control-radius,13px); padding: 10px 16px; cursor: pointer; font-weight: 800; }
.daily-primary { border: 0; color: #fff; background: linear-gradient(135deg, var(--pink), var(--purple)); box-shadow: 0 10px 30px rgba(124,58,237,.25); }
.daily-secondary { border: 1px solid var(--line); color: var(--text); background: var(--surface-2); }
.daily-danger { border:1px solid rgba(255,61,95,.28); color:var(--coral); background:rgba(255,61,95,.07); }
.daily-primary:disabled { opacity: .38; cursor: not-allowed; box-shadow: none; }

.daily-chooser-layer { z-index: 1010; background: rgba(8,3,24,.5); }
.daily-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 20px; }
.daily-type-card { position: relative; display: grid; align-content: end; min-height: 190px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; padding: 20px; color: #fff; background: #27124f; text-align: left; cursor: pointer; isolation: isolate; }
.daily-type-card::before, .daily-type-card::after { content: ''; position: absolute; z-index: -1; inset: 0; }
.daily-type-card::before { opacity: .82; background: radial-gradient(circle at 78% 24%, color-mix(in srgb,var(--tile) 72%,#090216), transparent 30%), linear-gradient(145deg, #28114f, #090216); }
.daily-type-card::after { inset: auto -28px -55px auto; width: 150px; height: 150px; border: 24px solid color-mix(in srgb, var(--tile) 58%, transparent); border-radius: 50%; transform: rotate(-18deg); }
.daily-type-card.type-habit { --tile: #ff5d95; }.daily-type-card.type-guitar { --tile: #ff9f1c; }.daily-type-card.type-task { --tile: #7c3aed; }.daily-type-card.type-shopping { --tile: #43d9a3; }
.daily-type-card > span { position: absolute; top: 18px; right: 18px; font: 800 44px var(--font-display); }
.daily-type-card strong { font: 800 25px var(--font-display); }
.daily-type-card small { margin-top: 5px; color: rgba(255,255,255,.72); }
.daily-pick-list { display: grid; gap: 8px; max-height: 52vh; overflow: auto; padding: 18px 20px; }
.daily-pick-list > button { display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 14px; color: var(--text); background: var(--surface-2); text-align: left; cursor: pointer; }
.daily-pick-list > button.selected { border-color: rgba(236,72,153,.45); background: rgba(236,72,153,.08); }
.daily-pick-check, .daily-set-strip button span { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--line); border-radius: 9px; color: #10241d; }
.daily-pick-list button.selected .daily-pick-check, .daily-set-strip button.selected span { border-color: transparent; background: #43d9a3; }
.daily-pick-list small { color: var(--muted); font-size: 9px; }
.daily-empty-picks { display: grid; min-height: 290px; place-content: center; justify-items: center; text-align: center; }
.daily-empty-picks > span { color: var(--pink); font-size: 45px; }
.daily-empty-picks p { max-width: 300px; color: var(--muted); }
.daily-empty-picks button, .daily-new-product button { border: 0; border-radius: 11px; padding: 10px 14px; color: #fff; background: var(--purple); cursor: pointer; }
.daily-new-product { display: flex; gap: 8px; padding: 0 20px 18px; }
.daily-new-product input { flex: 1; min-width: 0; border: 1px solid var(--line); border-radius: 11px; padding: 11px; color: var(--text); background: var(--surface-2); }
.daily-set-strip { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 14px; max-height: 58dvh; overflow: auto hidden; padding: 18px 20px; scroll-snap-type: x mandatory; scroll-padding-inline:20px; }
.daily-set-strip section { display: grid; align-content: start; gap: 7px; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface-2); scroll-snap-align: center; }
.daily-set-strip h4 { margin: 0 0 6px; color: var(--pink); }
.daily-set-strip button { display: grid; grid-template-columns:auto auto 1fr; align-items: center; gap: 11px; width: 100%; min-height:57px; border: 1px solid var(--line); border-radius: 11px; padding: 8px 12px; color: var(--text); background: var(--surface); text-align: left; cursor: pointer; }
.daily-set-strip button strong { font-size: 14px; }
.daily-set-strip button i { width:14px; height:14px; border-radius:50%; }
.daily-set-strip button i.orange { background:#ff9f1c; box-shadow:0 0 10px rgba(255,159,28,.45); }
.daily-set-strip button i.green { background:#43d9a3; box-shadow:0 0 10px rgba(67,217,163,.45); }
.daily-set-strip button i.blue { background:#4f9cff; box-shadow:0 0 10px rgba(79,156,255,.45); }
.daily-guitar-chooser footer > span { color: var(--text); font-size: 15px; }
.daily-guitar-chooser footer > span strong { color:var(--pink); font:800 24px var(--font-display); }
.daily-guitar-filters,.daily-set-tabs { display:flex; gap:7px; overflow-x:auto; padding:0 20px 11px; }
.daily-guitar-filters { padding-top:14px; }
.daily-guitar-filters button,.daily-set-tabs button { flex:0 0 auto; min-height:36px; border:1px solid var(--line); border-radius:999px; padding:7px 12px; color:var(--muted); background:var(--surface-2); cursor:pointer; font-weight:800; }
.daily-guitar-filters button.active,.daily-set-tabs button.active { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--pink),var(--purple)); }
.daily-set-panel { display:grid; align-content:start; gap:3px; height:min(47dvh,475px); margin:0 20px 12px; overflow-y:auto; padding:11px; border:1px solid var(--line); border-radius:18px; background:var(--surface-2); }
.daily-set-panel h4 { margin:0 0 7px; color:var(--pink); }
.daily-set-panel > button { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:8px; width:100%; min-height:39px; border:1px solid var(--line); border-radius:9px; padding:4px 9px; color:var(--text); text-align:left; cursor:pointer; }
.daily-set-panel > button.selected { border-color:rgba(236,72,153,.62); box-shadow:inset 0 0 0 1px rgba(236,72,153,.22); }
.daily-set-panel > button span { display:grid; width:24px; height:24px; place-items:center; border:1px solid var(--line); border-radius:7px; color:#10241d; }
.daily-set-panel > button.selected span { border-color:transparent; background:var(--green); }
.daily-set-panel > button i { width:14px; height:14px; border-radius:50%; }
.daily-set-panel > button i.orange { background:#ff9f1c; }.daily-set-panel > button i.green { background:#43d9a3; }.daily-set-panel > button i.blue { background:#4f9cff; }
.daily-set-panel > button strong { font-size:14px; line-height:1.15; }
.daily-set-panel .state-orange { background:rgba(255,159,28,.14); }.daily-set-panel .state-green { background:rgba(67,217,163,.13); }.daily-set-panel .state-blue { background:rgba(79,156,255,.15); }

@media (max-width: 720px) {
  [data-daily-planner-root], [data-guitar-v2-root] { padding: 25px 16px 60px; }
  .daily-calendar-card { aspect-ratio: auto; min-height: 0; padding: 18px; border-radius: 22px; }
  .daily-calendar-head { align-items: flex-start; }
  .daily-calendar-head h1 { font-size: 30px; }
  .daily-day { border-radius: 11px; font-size: 12px; }
  .daily-day i { bottom: 6px; width: 7px; height: 7px; }
  .daily-type-grid { grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px; }
  .daily-type-card { min-height: 150px; padding: 15px; }
  .daily-plan-scroll { padding: 14px; }
  .daily-routine-section, .daily-objectives-section { padding: 15px; }
  .daily-objective-list { grid-template-columns:1fr 1fr; }
  .daily-objective { grid-column:1/-1; }
  .daily-objective-placeholder { min-height:56px; padding:9px; }
  .daily-objective-placeholder strong { font-size:11px; }
  .daily-plan-modal > header, .daily-plan-modal > footer, .daily-chooser header { padding: 16px; }
  .daily-plan-modal > footer { align-items:stretch; flex-direction:column-reverse; }
  .daily-plan-modal > footer > div { display:grid; grid-template-columns:1fr 1fr; }
  .daily-plan-modal > footer > .daily-danger { width:100%; }
  .daily-gratitude-list { margin-left: 0; }
  .daily-set-tabs,.daily-guitar-filters { padding-inline:14px; }.daily-set-panel { height:45dvh; margin-inline:12px; }
  .daily-shortcuts{padding:14px}.daily-shortcuts>div{grid-template-columns:1fr 1fr}.daily-shortcuts button{min-height:88px;padding:12px}
}
