:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f5f7fb;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}a{color:inherit}.app-shell{background:#fff;border:1px solid #dfe4ec;border-radius:20px;width:min(1500px,100% - 32px);min-height:calc(100vh - 32px);margin:16px auto;overflow:hidden;box-shadow:0 24px 70px #2c3a5a17}.topbar{border-bottom:1px solid #e5e9f0;grid-template-columns:1fr auto 1fr;align-items:center;min-height:82px;padding:0 32px;display:grid}.brand{color:#172033;letter-spacing:-.04em;justify-self:start;align-items:center;gap:10px;font-size:1.35rem;font-weight:780;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:#165de6;border-radius:10px;place-items:center;width:32px;height:32px;display:inline-grid}.topbar-left{justify-self:start;align-items:center;gap:24px;min-width:0;display:flex}.topbar-nav{background:#f7f9fd;border:1px solid #dfe5ee;border-radius:12px;align-items:center;gap:5px;padding:4px;display:flex}.topbar-nav a{color:#69758a;border-radius:8px;padding:8px 11px;font-size:.76rem;font-weight:720;text-decoration:none}.topbar-nav a:hover,.topbar-nav a.is-active{color:#165de6;background:#fff;box-shadow:0 4px 12px #2b3a5914}.topbar-date{text-align:center;gap:2px;display:grid}.topbar-date span{color:#788396;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:760}.topbar-date strong{color:#2a3447;font-size:.86rem;font-weight:650}.topbar-actions{justify-self:end;align-items:center;gap:9px;display:flex}.primary-button,.secondary-button,.google-button,.theme-toggle,.add-task-button{border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-size:.82rem;font-weight:720;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;display:inline-flex}.primary-button{color:#fff;background:#165de6;border:1px solid #165de6;box-shadow:0 9px 20px #165de62e}.primary-button:hover{background:#104fc9;border-color:#104fc9}.primary-button:active,.secondary-button:active,.google-button:active,.add-task-button:active{transform:translateY(1px)}.secondary-button{color:#334057;background:#fff;border:1px solid #d5dbe5}.secondary-button:hover{background:#f8faff;border-color:#b8c5da}.google-button{color:#344159;background:#fff;border:1px solid #d5dbe5}.google-button:hover{background:#f8faff;border-color:#b8c5da}.google-button.is-connected{color:#17663d;background:#f1fbf5;border-color:#bad9c5}.theme-toggle{color:#344159;background:#fff;border:1px solid #d5dbe5}.theme-toggle:hover{background:#f8faff;border-color:#b8c5da}.theme-toggle[aria-pressed=true]{color:#f5d56c;background:#1d2638;border-color:#45526c}.disconnect-button{color:#7d8796;background:0 0;border:0;padding:8px 4px;font-size:.72rem;font-weight:650}.disconnect-button:hover{color:#c13c3c}.workspace{grid-template-columns:minmax(0,1.58fr) minmax(400px,.85fr);min-height:760px;display:grid}.schedule-pane{min-width:0;padding:38px 40px 60px}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px;display:flex}.eyebrow{color:#6d7890;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-size:.68rem;font-weight:780;display:block}.section-heading h1{color:#111827;letter-spacing:-.055em;margin:0;font-size:clamp(2rem,3vw,2.75rem);font-weight:790;line-height:1}.compact-button{min-height:44px}.schedule-groups{gap:32px;display:grid}.internship-progress-card{background:radial-gradient(circle at 100% 0,#165de61a,#0000 34%),#f8faff;border:1px solid #dce4f0;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr) auto;align-items:center;gap:22px;margin:-12px 0 34px;padding:22px;display:grid;position:relative;overflow:hidden}.internship-progress-copy h2{color:#1d2739;letter-spacing:-.035em;margin:0;font-size:1.35rem;font-weight:770}.internship-progress-copy p{color:#69758a;max-width:620px;margin:8px 0 0;font-size:.82rem;line-height:1.55}.internship-progress-meter{gap:10px;display:grid}.internship-progress-row{color:#344159;justify-content:space-between;align-items:center;gap:14px;font-size:.78rem;font-weight:730;display:flex}.internship-progress-row a{color:#165de6;text-decoration:none}.internship-progress-row a:hover{text-decoration:underline}.internship-progress-track{background:#dde5f2;border-radius:999px;height:10px;overflow:hidden}.internship-progress-track.large{height:16px;margin-top:28px}.internship-progress-fill{border-radius:inherit;background:#165de6;height:100%;transition:width .24s}.internship-mini-stats{color:#788396;flex-wrap:wrap;gap:10px 18px;font-size:.72rem;font-weight:620;display:flex}.internship-mini-stats strong{color:#1f2a3d}.internship-progress-icon{color:#fff;background:#165de6;border-radius:15px;place-items:center;width:48px;height:48px;display:inline-grid;box-shadow:0 12px 25px #165de633}.schedule-group{grid-template-columns:134px minmax(0,1fr);gap:20px;display:grid}.group-date{padding-top:16px}.group-date span{color:#165de6;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:780}.group-date h2{color:#4f5b70;margin:6px 0 0;font-size:.84rem;font-weight:650;line-height:1.45}.schedule-list{background:#fff;border:1px solid #e0e5ed;border-radius:16px;margin:0;padding:0;list-style:none;box-shadow:0 10px 28px #33415f0f}.schedule-item{grid-template-columns:76px 32px minmax(0,1fr) auto;align-items:start;gap:10px;min-height:112px;padding:19px 17px 18px 18px;animation:.18s both item-in;display:grid;position:relative}.schedule-item+.schedule-item{border-top:1px solid #e7ebf1}.schedule-time{gap:5px;padding-top:2px;display:grid}.schedule-time strong{color:#263249;font-size:.86rem;font-weight:760}.schedule-time span{color:#8a94a5;font-size:.68rem;font-weight:620;line-height:1.35}.schedule-marker{border-radius:9px;place-items:center;width:30px;height:30px;display:inline-grid}.schedule-item-event .schedule-marker{color:#165de6;background:#edf3ff}.schedule-item-reminder .schedule-marker{color:#a15b0b;background:#fff6e6}.schedule-copy{min-width:0}.schedule-item-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.item-kind{color:#8a94a5;letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:780}.schedule-copy h3{color:#202a3d;margin:4px 0 0;font-size:.98rem;font-weight:710;line-height:1.35}.schedule-meta{color:#788396;flex-wrap:wrap;gap:7px 15px;margin-top:9px;font-size:.72rem;font-weight:610;display:flex}.schedule-meta span{align-items:center;gap:5px;display:inline-flex}.google-label{color:#17663d}.schedule-notes{color:#69758a;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:9px 0 0;font-size:.78rem;line-height:1.45;display:-webkit-box;overflow:hidden}.reminder-check{color:#fff;background:#fff;border:1.5px solid #b0b9c7;border-radius:7px;flex:none;place-items:center;width:22px;height:22px;padding:0;display:inline-grid}.reminder-check:hover{border-color:#165de6}.reminder-check[aria-pressed=true]{background:#165de6;border-color:#165de6}.schedule-actions{align-items:center;gap:2px;display:flex}.icon-button{color:#6f7a8d;background:0 0;border:0;border-radius:9px;place-items:center;width:36px;height:36px;padding:0;text-decoration:none;display:inline-grid}.icon-button:hover{color:#165de6;background:#edf3ff}.icon-button-danger:hover{color:#c43b3b;background:#fff1f1}.schedule-item.is-complete .schedule-copy h3{color:#929baa;text-decoration:line-through}.schedule-item.is-complete .schedule-meta,.schedule-item.is-complete .schedule-notes{opacity:.7}.empty-schedule{color:#8490a2;text-align:center;border:1px dashed #c8d0dc;border-radius:16px;align-content:center;place-items:center;min-height:320px;padding:50px 24px;display:grid}.empty-schedule h2{color:#243047;margin:15px 0 6px;font-size:1.15rem}.empty-schedule p{margin:0 0 20px;font-size:.84rem}.calendar-panel{background:#fbfcfe;border-left:1px solid #e1e6ee;min-width:0;padding:38px 34px 54px}.calendar-title-row{justify-content:space-between;align-items:flex-end;margin-bottom:28px;display:flex}.calendar-title-row h2{color:#151d2c;letter-spacing:-.04em;margin:0;font-size:1.55rem;font-weight:770}.today-button{color:#165de6;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:.78rem;font-weight:720}.today-button:hover{background:#edf3ff}.month-navigation{grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:19px;display:grid}.month-navigation h3{color:#263249;text-align:center;margin:0;font-size:1rem;font-weight:720}.calendar-nav-button{color:#68758a;background:0 0;border:0;border-radius:9px;place-items:center;width:36px;height:36px;padding:0;display:inline-grid}.calendar-nav-button:hover{color:#165de6;background:#edf3ff}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px 3px;display:grid}.weekday{color:#929baa;text-align:center;padding-bottom:8px;font-size:.66rem;font-weight:720}.calendar-day{color:#344158;background:0 0;border:1px solid #0000;border-radius:10px;align-content:space-between;place-items:center;min-width:0;height:50px;padding:7px 2px 5px;font-size:.8rem;font-weight:680;transition:border-color .14s,color .14s,background .14s;display:grid}.calendar-day:hover{background:#f2f6ff;border-color:#b9cdf5}.calendar-day.is-outside-month{color:#bdc3cd}.calendar-day.is-today:not(.is-selected){border-color:#8eafea}.calendar-day.is-selected{color:#fff;background:#165de6;border-color:#165de6;box-shadow:0 7px 18px #165de633}.calendar-dots{gap:3px;min-height:5px;display:flex}.calendar-dot{border-radius:50%;width:5px;height:5px;display:block}.calendar-dot-event{background:#165de6}.calendar-dot-reminder{background:#e59228}.calendar-day.is-selected .calendar-dot{background:#fff}.day-agenda{border-top:1px solid #e0e5ed;margin-top:28px;padding-top:25px}.agenda-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.agenda-heading .eyebrow{margin-bottom:4px}.agenda-heading h3{color:#202a3d;margin:0;font-size:.95rem;font-weight:730}.agenda-count{color:#165de6;background:#edf3ff;border-radius:9px;place-items:center;width:27px;height:27px;font-size:.72rem;font-weight:760;display:inline-grid}.day-agenda ul{margin:0;padding:0;list-style:none}.day-agenda li+li{border-top:1px solid #e7ebf1}.agenda-item{color:#27334a;text-align:left;background:0 0;border:0;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:62px;padding:10px 4px;display:grid}.agenda-item:hover .agenda-copy strong{color:#165de6}.agenda-kind{border-radius:9px;place-items:center;width:30px;height:30px;display:inline-grid}.agenda-kind-event{color:#165de6;background:#edf3ff}.agenda-kind-reminder{color:#a15b0b;background:#fff6e6}.agenda-copy{gap:4px;min-width:0;display:grid}.agenda-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:680;overflow:hidden}.agenda-copy small{color:#818b9c;font-size:.7rem;font-weight:590}.agenda-repeat-icon{color:#8b95a6}.day-agenda li.is-complete .agenda-copy strong{color:#939caa;text-decoration:line-through}.agenda-empty{color:#7d8899;text-align:center;border:1px dashed #c9d0db;border-radius:11px;margin:0 0 11px;padding:22px 16px;font-size:.79rem;line-height:1.45}.add-task-button{color:#165de6;background:#f4f7ff;border:1px solid #c5d4ee;width:100%}.add-task-button:hover{background:#edf3ff;border-color:#165de6}footer{color:#8993a2;border-top:1px solid #e5e9f0;justify-content:space-between;padding:20px 32px;font-size:.74rem;font-weight:610;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#151d2c7a;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.schedule-modal,.google-setup-modal{background:#fff;border:1px solid #e0e5ed;border-radius:20px;width:min(640px,100%);padding:27px;animation:.18s both modal-in;box-shadow:0 28px 80px #101c373d}.google-setup-modal{width:min(560px,100%)}.modal-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:23px;display:flex}.modal-heading .eyebrow{margin-bottom:5px}.modal-heading h2{color:#161f30;letter-spacing:-.045em;margin:0;font-size:1.6rem;font-weight:780}.type-switch{background:#f0f3f8;border-radius:12px;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:20px;padding:5px;display:grid}.type-switch button{color:#68758a;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:40px;font-size:.8rem;font-weight:700;display:inline-flex}.type-switch button.is-selected{color:#165de6;background:#fff;border-color:#d7deea;box-shadow:0 4px 12px #2b3a5914}.modal-field{gap:7px;min-width:0;display:grid}.modal-field>span,.date-time-grid legend{color:#5e6a7f;font-size:.7rem;font-weight:740}.modal-field input,.modal-field select,.modal-field textarea,.date-time-grid input{color:#1f2a3e;background:#fff;border:1px solid #cfd6e1;border-radius:10px;outline:none;width:100%;font-size:.84rem;transition:border-color .15s,box-shadow .15s}.modal-field input,.modal-field select,.date-time-grid input{height:44px;padding:0 11px}.modal-field textarea{resize:vertical;padding:11px;line-height:1.45}.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus,.date-time-grid input:focus{border-color:#165de6;box-shadow:0 0 0 3px #165de61c}.modal-title-field{margin-bottom:18px}.all-day-toggle{background:#f8faff;border:1px solid #dce3ed;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:14px 15px;display:flex}.all-day-toggle span{gap:3px;display:grid}.all-day-toggle strong{color:#2a354a;font-size:.78rem}.all-day-toggle small{color:#7f8999;font-size:.68rem;line-height:1.4}.all-day-toggle input{accent-color:#165de6;width:18px;height:18px}.date-time-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.date-time-grid fieldset{border:0;grid-template-columns:minmax(0,1fr) 112px;gap:8px;min-width:0;padding:0;display:grid}.date-time-grid legend{grid-column:1/-1;margin-bottom:7px;padding:0}.date-time-grid.is-all-day fieldset{grid-template-columns:1fr}.modal-options-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.google-sync-option{background:#f8faff;border:1px solid #dce3ed;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:14px 15px;display:flex}.google-sync-option.is-disabled{background:#f8f9fb}.google-sync-option span{gap:3px;display:grid}.google-sync-option strong{color:#2a354a;font-size:.78rem}.google-sync-option small{color:#7f8999;font-size:.68rem;line-height:1.4}.google-sync-option input{accent-color:#165de6;width:18px;height:18px}.form-error{color:#bd3434;margin:12px 0 0;font-size:.76rem;font-weight:620}.modal-actions{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.setup-intro{color:#5e6a7e;margin:0 0 17px;font-size:.84rem;line-height:1.55}.setup-steps{color:#48556b;gap:9px;margin:0 0 17px;padding-left:22px;font-size:.8rem;line-height:1.5;display:grid}.setup-steps code{color:#244b91;background:#edf3ff;border-radius:5px;padding:2px 5px;font-size:.72rem}.google-console-link{color:#165de6;align-items:center;gap:6px;margin-bottom:20px;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.google-console-link:hover{text-decoration:underline}.privacy-note{color:#858f9e;margin:11px 0 0;font-size:.7rem;line-height:1.45}.toast{z-index:70;border:1px solid;border-radius:11px;max-width:min(420px,100% - 48px);padding:13px 16px;font-size:.78rem;font-weight:650;line-height:1.4;animation:.18s both item-in;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 38px #1e2a4329}.toast-success{color:#155e38;background:#f0fbf4;border-color:#b7d9c3}.toast-error{color:#9e2f2f;background:#fff4f4;border-color:#edbebe}.internship-page{background:radial-gradient(circle at 10% 0,#165de614,#0000 28%),#fbfcfe;gap:24px;padding:38px 40px 58px;display:grid}.internship-hero,.working-time-panel,.internship-progress-panel,.skipped-days-panel,.holiday-panel,.internship-stat-card{background:#fff;border:1px solid #dfe5ee;border-radius:20px;box-shadow:0 12px 34px #2b3a590f}.internship-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);align-items:end;gap:24px;padding:34px;display:grid}.internship-hero-copy h1{color:#111827;letter-spacing:-.065em;max-width:780px;margin:0;font-size:clamp(2.3rem,4vw,4.5rem);font-weight:820;line-height:.96}.internship-hero-copy p{color:#637088;max-width:720px;margin:18px 0 0;font-size:1rem;line-height:1.7}.internship-target-card{color:#fff;background:#111827;border-radius:18px;padding:24px;box-shadow:0 18px 40px #1118272e}.internship-target-card span{color:#b9c3d3;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:760}.internship-target-card strong{margin-top:9px;font-size:1.25rem;line-height:1.35;display:block}.internship-target-card p{color:#d4dbea;margin:12px 0 0;font-size:.78rem;line-height:1.55}.internship-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.internship-stat-card{justify-content:space-between;gap:18px;min-width:0;padding:20px;display:flex}.internship-stat-card span,.working-time-grid span,.progress-breakdown span,.skipped-day-row span{color:#6d7890;font-size:.72rem;font-weight:730}.internship-stat-card strong{color:#172033;letter-spacing:-.05em;margin-top:9px;font-size:2.05rem;font-weight:790;display:block}.internship-stat-card p{color:#7b8698;margin:5px 0 0;font-size:.74rem;line-height:1.45}.internship-stat-icon{color:#fff;background:#165de6;border-radius:14px;flex:none;place-items:center;width:42px;height:42px;display:inline-grid}.working-time-panel{grid-template-columns:minmax(0,.8fr) minmax(360px,1fr);align-items:center;gap:24px;padding:28px;display:grid}.working-time-panel h2,.internship-progress-panel h2,.skipped-days-panel h2,.holiday-panel h2{color:#172033;letter-spacing:-.04em;margin:0;font-size:1.35rem;font-weight:770}.working-time-panel p{color:#637088;margin:11px 0 0;font-size:.86rem;line-height:1.65}.working-time-grid{grid-template-columns:1.2fr .8fr .8fr;gap:12px;display:grid}.working-time-grid div{background:#f4f7fc;border-radius:16px;min-width:0;padding:18px}.working-time-grid strong{color:#111827;letter-spacing:-.07em;margin-top:8px;font-size:clamp(2rem,4vw,3.4rem);font-weight:820;display:block}.internship-detail-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px;display:grid}.internship-progress-panel,.skipped-days-panel,.holiday-panel{padding:24px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.panel-heading>strong{color:#165de6;font-size:1rem;font-weight:780}.progress-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.progress-breakdown div,.skipped-day-row{background:#f4f7fc;border-radius:15px;padding:16px}.progress-breakdown strong,.skipped-day-row strong{color:#172033;letter-spacing:-.04em;margin-top:7px;font-size:1.8rem;font-weight:790;display:block}.skipped-days-panel{align-content:start;gap:12px;display:grid}.skipped-day-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.skipped-day-row strong{margin-top:0}.today-pill{color:#69758a;flex:none;font-size:.74rem;font-weight:650}.holiday-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.holiday-card{background:#fff;border:1px solid #dfe5ee;border-radius:15px;min-height:102px;padding:16px}.holiday-card.is-past{color:#8a94a5;background:#f6f8fb}.holiday-card strong{color:inherit;font-size:.88rem;display:block}.holiday-card span{color:#6f7a8d;margin-top:8px;font-size:.74rem;line-height:1.45;display:block}.todo-page{background:radial-gradient(circle at 90% 0,#165de612,#0000 30%),#fbfcfe;gap:24px;padding:38px 40px 58px;display:grid}.todo-hero,.todo-entry-panel,.todo-list-panel{background:#fff;border:1px solid #dfe5ee;border-radius:20px;box-shadow:0 12px 34px #2b3a590f}.todo-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.35fr);align-items:end;gap:24px;padding:34px;display:grid}.todo-hero h1{color:#111827;letter-spacing:-.065em;margin:0;font-size:clamp(2.3rem,4vw,4.1rem);font-weight:820;line-height:.98}.todo-hero p{color:#637088;max-width:700px;margin:16px 0 0;font-size:1rem;line-height:1.7}.todo-summary-card{color:#fff;background:#111827;border-radius:18px;padding:22px;box-shadow:0 18px 40px #1118272e}.todo-summary-card span{color:#b9c3d3;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:760}.todo-summary-card strong{margin-top:9px;font-size:1.08rem;line-height:1.35;display:block}.todo-summary-card p{color:#d4dbea;margin:12px 0 0;font-size:.78rem}.todo-entry-panel,.todo-list-panel{padding:24px}.todo-progress-number{color:#165de6;font-size:.8rem;font-weight:780}.todo-form{grid-template-columns:minmax(0,1fr) 180px auto;align-items:end;gap:14px;margin-top:22px;display:grid}.todo-submit-button{min-height:44px}.todo-progress-track{background:#dde5f2;border-radius:999px;height:10px;margin-top:18px;overflow:hidden}.todo-progress-fill{border-radius:inherit;background:#165de6;height:100%;transition:width .24s}.todo-list-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.todo-filter-row{background:#f7f9fd;border:1px solid #dfe5ee;border-radius:12px;gap:5px;padding:4px;display:flex}.todo-filter-row button{color:#69758a;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:.76rem;font-weight:720}.todo-filter-row button:hover,.todo-filter-row button.is-selected{color:#165de6;background:#fff;box-shadow:0 4px 12px #2b3a5914}.clear-completed-button{min-height:38px;padding:0 12px}.todo-list{border:1px solid #e0e5ed;border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.todo-row{background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:82px;padding:15px 17px;display:grid}.todo-row+.todo-row{border-top:1px solid #e7ebf1}.todo-check{color:#fff;background:#fff;border:1.5px solid #b0b9c7;border-radius:8px;place-items:center;width:24px;height:24px;padding:0;display:inline-grid}.todo-check:hover{border-color:#165de6}.todo-check[aria-pressed=true]{background:#165de6;border-color:#165de6}.todo-copy{min-width:0}.todo-copy h3{color:#202a3d;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.96rem;font-weight:710;overflow:hidden}.todo-copy p{color:#778297;margin:6px 0 0;font-size:.74rem;font-weight:610}.todo-row.is-complete .todo-copy h3{color:#929baa;text-decoration:line-through}.todo-row.is-complete .todo-copy p{opacity:.72}.todo-actions{gap:3px;display:flex}.icon-button-primary{color:#fff;background:#165de6}.icon-button-primary:hover{color:#fff;background:#104fc9}.todo-edit-fields{grid-column:1/3;grid-template-columns:minmax(0,1fr) 170px;gap:12px;display:grid}.todo-edit-fields input{color:#1f2a3e;background:#fff;border:1px solid #cfd6e1;border-radius:10px;outline:none;width:100%;height:42px;padding:0 11px;font-size:.84rem}.todo-edit-fields input:focus{border-color:#165de6;box-shadow:0 0 0 3px #165de61c}.todo-empty-state{color:#8490a2;text-align:center;border:1px dashed #c8d0dc;border-radius:16px;align-content:center;place-items:center;min-height:240px;padding:44px 20px;display:grid}.todo-empty-state h2{color:#243047;margin:14px 0 7px;font-size:1.1rem}.todo-empty-state p{color:#6d7890;margin:0;font-size:.84rem}.is-spinning{animation:.85s linear infinite spin}@keyframes item-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}:root[data-theme=dark]{color:#e5edf8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#080d19}:root[data-theme=dark] body{background:#080d19}:root[data-theme=dark] .app-shell{background:#101827;border-color:#243044;box-shadow:0 24px 70px #0000004d}:root[data-theme=dark] .topbar,:root[data-theme=dark] footer{background:#101827;border-color:#273348}:root[data-theme=dark] .brand,:root[data-theme=dark] .section-heading h1,:root[data-theme=dark] .calendar-title-row h2,:root[data-theme=dark] .modal-heading h2,:root[data-theme=dark] .todo-hero h1,:root[data-theme=dark] .internship-hero-copy h1,:root[data-theme=dark] .internship-progress-copy h2,:root[data-theme=dark] .working-time-panel h2,:root[data-theme=dark] .internship-progress-panel h2,:root[data-theme=dark] .skipped-days-panel h2,:root[data-theme=dark] .holiday-panel h2,:root[data-theme=dark] .schedule-copy h3,:root[data-theme=dark] .todo-copy h3,:root[data-theme=dark] .agenda-heading h3,:root[data-theme=dark] .empty-schedule h2,:root[data-theme=dark] .todo-empty-state h2{color:#f4f7fb}:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .topbar-date span,:root[data-theme=dark] footer,:root[data-theme=dark] .group-date h2,:root[data-theme=dark] .schedule-meta,:root[data-theme=dark] .schedule-notes,:root[data-theme=dark] .agenda-copy small,:root[data-theme=dark] .todo-copy p,:root[data-theme=dark] .todo-hero p,:root[data-theme=dark] .internship-hero-copy p,:root[data-theme=dark] .working-time-panel p,:root[data-theme=dark] .empty-schedule p,:root[data-theme=dark] .todo-empty-state p{color:#9aa8bd}:root[data-theme=dark] .workspace,:root[data-theme=dark] .todo-page,:root[data-theme=dark] .internship-page{background:radial-gradient(circle at 90% 0,#4a7eff1f,#0000 30%),#0c1422}:root[data-theme=dark] .schedule-pane{background:#0c1422}:root[data-theme=dark] .calendar-panel{background:#111a2a;border-color:#273348}:root[data-theme=dark] .topbar-nav,:root[data-theme=dark] .type-switch,:root[data-theme=dark] .todo-filter-row{background:#0c1422;border-color:#2b374c}:root[data-theme=dark] .topbar-nav a,:root[data-theme=dark] .type-switch button,:root[data-theme=dark] .todo-filter-row button{color:#9aa8bd}:root[data-theme=dark] .topbar-nav a:hover,:root[data-theme=dark] .topbar-nav a.is-active,:root[data-theme=dark] .type-switch button.is-selected,:root[data-theme=dark] .todo-filter-row button:hover,:root[data-theme=dark] .todo-filter-row button.is-selected{color:#8fb5ff;box-shadow:none;background:#172235}:root[data-theme=dark] .schedule-list,:root[data-theme=dark] .schedule-modal,:root[data-theme=dark] .google-setup-modal,:root[data-theme=dark] .todo-hero,:root[data-theme=dark] .todo-entry-panel,:root[data-theme=dark] .todo-list-panel,:root[data-theme=dark] .internship-hero,:root[data-theme=dark] .working-time-panel,:root[data-theme=dark] .internship-progress-panel,:root[data-theme=dark] .skipped-days-panel,:root[data-theme=dark] .holiday-panel,:root[data-theme=dark] .internship-stat-card,:root[data-theme=dark] .holiday-card{background:#121c2d;border-color:#2b374c;box-shadow:0 12px 34px #00000038}:root[data-theme=dark] .internship-progress-card,:root[data-theme=dark] .all-day-toggle,:root[data-theme=dark] .google-sync-option,:root[data-theme=dark] .todo-summary-card,:root[data-theme=dark] .internship-target-card,:root[data-theme=dark] .progress-breakdown div,:root[data-theme=dark] .skipped-day-row,:root[data-theme=dark] .working-time-grid div{background:#172235;border-color:#2b374c}:root[data-theme=dark] .todo-list,:root[data-theme=dark] .todo-row,:root[data-theme=dark] .schedule-item+.schedule-item,:root[data-theme=dark] .todo-row+.todo-row,:root[data-theme=dark] .day-agenda,:root[data-theme=dark] .day-agenda li+li{border-color:#29354a}:root[data-theme=dark] .todo-row{background:#121c2d}:root[data-theme=dark] .modal-field>span,:root[data-theme=dark] .date-time-grid legend,:root[data-theme=dark] .all-day-toggle strong,:root[data-theme=dark] .google-sync-option strong,:root[data-theme=dark] .topbar-date strong,:root[data-theme=dark] .month-navigation h3,:root[data-theme=dark] .schedule-time strong,:root[data-theme=dark] .internship-stat-card strong,:root[data-theme=dark] .working-time-grid strong,:root[data-theme=dark] .progress-breakdown strong,:root[data-theme=dark] .skipped-day-row strong{color:#e8eef7}:root[data-theme=dark] .modal-field input,:root[data-theme=dark] .modal-field select,:root[data-theme=dark] .modal-field textarea,:root[data-theme=dark] .date-time-grid input,:root[data-theme=dark] .todo-edit-fields input{color:#f4f7fb;background:#0c1422;border-color:#354258}:root[data-theme=dark] .modal-field input::placeholder,:root[data-theme=dark] .modal-field textarea::placeholder{color:#738197}:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .google-button,:root[data-theme=dark] .theme-toggle{color:#dce7f6;background:#121c2d;border-color:#354258}:root[data-theme=dark] .secondary-button:hover,:root[data-theme=dark] .google-button:hover,:root[data-theme=dark] .theme-toggle:hover{background:#172235;border-color:#486086}:root[data-theme=dark] .google-button.is-connected{color:#7ee2a3;background:#11251c;border-color:#2f704f}:root[data-theme=dark] .disconnect-button{color:#95a4bb}:root[data-theme=dark] .calendar-day{color:#dce7f6}:root[data-theme=dark] .calendar-day:hover{background:#172235;border-color:#486086}:root[data-theme=dark] .calendar-day.is-outside-month{color:#5e6b80}:root[data-theme=dark] .calendar-day.is-selected{color:#fff;background:#2e6cf6}:root[data-theme=dark] .agenda-empty,:root[data-theme=dark] .empty-schedule,:root[data-theme=dark] .todo-empty-state{color:#95a4bb;background:#0f1828;border-color:#354258}:root[data-theme=dark] .agenda-kind-event,:root[data-theme=dark] .schedule-item-event .schedule-marker{color:#9cbcff;background:#172f5d}:root[data-theme=dark] .agenda-kind-reminder,:root[data-theme=dark] .schedule-item-reminder .schedule-marker{color:#f0b35a;background:#3a2814}:root[data-theme=dark] .reminder-check,:root[data-theme=dark] .todo-check{background:#101827;border-color:#536177}:root[data-theme=dark] .icon-button{color:#9aa8bd}:root[data-theme=dark] .icon-button:hover{color:#9cbcff;background:#172f5d}:root[data-theme=dark] .add-task-button{color:#9cbcff;background:#122544;border-color:#2f4c7f}:root[data-theme=dark] .todo-row.is-complete .todo-copy h3,:root[data-theme=dark] .schedule-item.is-complete .schedule-copy h3,:root[data-theme=dark] .day-agenda li.is-complete .agenda-copy strong{color:#69778d}@media (width<=1160px){.topbar{grid-template-columns:auto 1fr}.topbar-left{gap:14px}.topbar-date{display:none}.workspace{grid-template-columns:minmax(0,1.35fr) minmax(370px,.9fr)}.schedule-pane{padding-left:28px;padding-right:28px}.schedule-group{grid-template-columns:105px minmax(0,1fr)}.internship-progress-card{grid-template-columns:1fr}.internship-progress-icon{display:none}.internship-stat-grid,.holiday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-item{grid-template-columns:66px 30px minmax(0,1fr)}.schedule-actions{grid-column:3;justify-content:flex-end;margin-top:-4px}}@media (width<=900px){.app-shell{width:calc(100% - 20px);margin:10px auto}.topbar{padding:16px 22px}.workspace{grid-template-columns:1fr}.calendar-panel{border-top:1px solid #e1e6ee;border-left:0}.internship-hero,.working-time-panel,.internship-detail-grid,.todo-hero{grid-template-columns:1fr}.topbar-actions .add-event-button{display:none}}@media (width<=620px){.app-shell{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0;margin:0}.topbar{flex-wrap:wrap;gap:12px;min-height:70px;padding:14px 18px;display:flex}.topbar-actions{margin-left:auto}.brand{font-size:1.15rem}.brand-mark{width:29px;height:29px}.topbar-left{gap:11px}.topbar-nav{gap:3px;padding:3px}.topbar-nav a{padding:7px 8px;font-size:.7rem}.google-button,.theme-toggle{white-space:nowrap;gap:0;width:42px;padding:0;font-size:0;overflow:hidden}.google-button svg,.theme-toggle svg{color:#344159;flex:none}.google-button.is-connected svg{color:#17663d}.theme-toggle[aria-pressed=true] svg{color:#f5d56c}:root[data-theme=dark] .google-button svg,:root[data-theme=dark] .theme-toggle svg{color:#dce7f6}:root[data-theme=dark] .google-button.is-connected svg{color:#7ee2a3}.disconnect-button{display:none}.schedule-pane,.calendar-panel{padding:30px 18px 44px}.internship-page,.todo-page{gap:18px;padding:26px 14px 40px}.internship-hero,.working-time-panel,.internship-progress-panel,.skipped-days-panel,.holiday-panel,.todo-hero,.todo-entry-panel,.todo-list-panel{border-radius:17px;padding:20px}.internship-hero-copy h1,.todo-hero h1{font-size:2.4rem}.internship-stat-grid,.working-time-grid,.progress-breakdown,.holiday-grid{grid-template-columns:1fr}.working-time-grid strong{font-size:2.3rem}.internship-progress-card{padding:18px}.todo-form{grid-template-columns:1fr}.todo-list-toolbar{flex-direction:column;align-items:stretch}.todo-filter-row{width:100%}.todo-filter-row button{flex:1}.clear-completed-button{width:100%}.todo-row{grid-template-columns:auto minmax(0,1fr)}.todo-actions{grid-column:2;justify-content:flex-end}.todo-edit-fields{grid-column:1/-1;grid-template-columns:1fr}.section-heading{align-items:flex-start;margin-bottom:26px}.section-heading h1{font-size:2rem}.compact-button{white-space:nowrap;gap:0;width:42px;min-height:42px;padding:0;font-size:0;overflow:hidden}.compact-button svg{color:#fff;flex:none}.schedule-groups{gap:25px}.schedule-group{grid-template-columns:1fr;gap:9px}.group-date{padding-top:0}.group-date h2{margin-left:7px;display:inline}.schedule-item{grid-template-columns:58px 28px minmax(0,1fr);gap:8px;min-height:120px;padding:17px 12px}.schedule-actions{grid-column:2/-1}.calendar-panel{padding-left:14px;padding-right:14px}.calendar-day{height:46px}footer{padding:18px}footer span:last-child{display:none}.modal-backdrop{place-items:start center;padding:12px}.schedule-modal,.google-setup-modal{border-radius:17px;margin:10px 0;padding:22px 18px}.date-time-grid,.modal-options-grid{grid-template-columns:1fr}.date-time-grid fieldset{grid-template-columns:minmax(0,1fr) 112px}.modal-actions{grid-template-columns:1fr 1fr;display:grid}}@media (width<=380px){.schedule-item{grid-template-columns:50px 26px minmax(0,1fr)}.schedule-time strong{font-size:.78rem}.calendar-day{height:43px;font-size:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
