:root{color:#16243a;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f7fb;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.login-page{background:radial-gradient(circle at 12% 18%,#57aeff21,#0000 28%),radial-gradient(circle at 88% 82%,#45c8ac1f,#0000 26%),#f3f7fb;place-items:center;min-height:100vh;padding:48px 24px;display:grid}.login-shell{background:#fff;border:1px solid #69809e2e;border-radius:32px;grid-template-columns:1.02fr .98fr;width:min(1080px,100%);min-height:680px;display:grid;overflow:hidden;box-shadow:0 28px 80px #2c486a24}.brand-panel{color:#fff;background:linear-gradient(145deg,#102c55 0%,#174b7f 55%,#126d78 100%);flex-direction:column;padding:42px 48px 48px;display:flex;position:relative;overflow:hidden}.brand-panel:after{content:"";background:#56dac21f;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-110px;right:-80px}.brand-lockup{z-index:1;letter-spacing:-.02em;align-items:center;gap:12px;font-size:1.18rem;font-weight:750;display:flex}.brand-mark{color:#12385f;letter-spacing:-.04em;background:#8be2d1;border-radius:12px;place-items:center;width:38px;height:38px;font-size:.78rem;font-weight:850;display:grid}.time-illustration{width:min(390px,92%);height:340px;margin:54px auto 24px;position:relative}.orbit{border:1px solid #b0e2ff3d;border-radius:50%;position:absolute}.orbit-one{inset:24px 22px 30px 38px}.orbit-two{border-color:#75e5cc33;inset:64px 66px 72px 12px}.clock-face{background:#dff8f4;border:14px solid #fffffff0;border-radius:50%;width:154px;height:154px;position:absolute;top:34px;left:38px;box-shadow:0 22px 50px #041d3947}.clock-face:before,.clock-face:after{content:"";background:#1d597c;border-radius:4px;width:3px;height:10px;position:absolute;left:50%;transform:translate(-50%)}.clock-face:before{top:8px}.clock-face:after{bottom:8px}.clock-hand{transform-origin:bottom;background:#164e75;border-radius:4px;width:4px;position:absolute;bottom:50%;left:50%}.clock-hour{height:38px;transform:translate(-50%)rotate(300deg)}.clock-minute{background:#31ad9c;height:50px;transform:translate(-50%)rotate(52deg)}.clock-pin{background:#164e75;border:4px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.log-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border:1px solid #ffffff80;border-radius:24px;width:230px;height:188px;padding:40px 28px;position:absolute;bottom:34px;right:18px;transform:rotate(-3deg);box-shadow:0 28px 55px #041d394d}.log-line{background:#a8bfd0;border-radius:5px;height:8px;margin-bottom:18px;display:block}.line-long{width:100%}.line-medium{width:76%}.line-short{width:48%}.log-total{color:#146f78;font-size:1.25rem;font-weight:800;position:absolute;bottom:22px;right:25px}.floating-dot{background:#7de2cf;border-radius:50%;position:absolute;box-shadow:0 0 0 8px #7de2cf1f}.dot-one{width:12px;height:12px;top:20px;right:82px}.dot-two{width:18px;height:18px;bottom:136px;right:0}.dot-three{width:10px;height:10px;bottom:8px;left:86px}.brand-message{z-index:1;margin-top:auto}.brand-message h2{letter-spacing:-.045em;margin:0 0 12px;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.05}.brand-message p{color:#ebf8ffbf;max-width:430px;margin:0;font-size:1rem;line-height:1.65}.form-panel{align-items:center;padding:76px 70px 60px;display:grid;position:relative}.language-switch{background:#f5f8fb;border:1px solid #dce5ed;border-radius:12px;gap:3px;padding:4px;display:flex;position:absolute;top:30px;right:34px}.language-switch button{color:#6a7b8e;cursor:pointer;background:0 0;border:0;border-radius:8px;width:44px;height:34px;font-size:.78rem;font-weight:750}.language-switch button.active{color:#fff;background:#176f82;box-shadow:0 4px 12px #126f8233}.form-content{width:100%;max-width:430px;margin:0 auto}.eyebrow{color:#147786;letter-spacing:.16em;margin:0 0 12px;font-size:.74rem;font-weight:800}.form-content h1{color:#16243a;letter-spacing:-.05em;margin:0;font-size:clamp(2.3rem,4vw,3.25rem);line-height:1.08}.form-subtitle{color:#68788b;margin:16px 0 38px;line-height:1.65}form>label{color:#26384f;margin:22px 0 9px;font-size:.88rem;font-weight:700;display:block}input[type=email],input[type=password]{color:#15253b;background:#fbfdff;border:1px solid #d4dfe8;border-radius:12px;outline:none;width:100%;height:54px;padding:0 17px;transition:border-color .16s,box-shadow .16s,background .16s}input::placeholder{color:#9ba9b8}input[type=email]:focus,input[type=password]:focus{background:#fff;border-color:#258ca0;box-shadow:0 0 0 4px #258ca01f}.form-options{justify-content:space-between;align-items:center;gap:16px;margin:22px 0 28px;display:flex}.checkbox-label{color:#53657a;cursor:pointer;align-items:center;gap:9px;font-size:.87rem;display:inline-flex}.checkbox-label input{opacity:0;width:1px;height:1px;position:absolute}.custom-checkbox{background:#fff;border:1.5px solid #becbd6;border-radius:6px;flex:none;width:19px;height:19px;position:relative}.checkbox-label input:focus-visible+.custom-checkbox{outline-offset:2px;outline:3px solid #258ca02e}.checkbox-label input:checked+.custom-checkbox{background:#16798a;border-color:#16798a}.checkbox-label input:checked+.custom-checkbox:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:3px;left:6px;transform:rotate(45deg)}.text-button{color:#18788a;cursor:pointer;background:0 0;border:0;padding:0;font-size:.86rem;font-weight:700}.text-button:disabled{color:#8795a5;cursor:help}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(120deg,#146d82,#168d8c);border:0;border-radius:12px;width:100%;min-height:54px;font-weight:780;transition:transform .16s,box-shadow .16s,opacity .16s;box-shadow:0 12px 26px #146f8238}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 15px 30px #146f8247}.primary-button:focus-visible,.language-switch button:focus-visible,.text-button:focus-visible{outline-offset:3px;outline:3px solid #258ca038}.primary-button:disabled{cursor:not-allowed;opacity:.56}.error-message{color:#a23943;background:#fff6f6;border:1px solid #f1c6c8;border-radius:10px;margin:-10px 0 20px;padding:12px 14px;font-size:.85rem;line-height:1.4}.security-note{color:#8a98a8;justify-content:center;align-items:center;gap:8px;margin:26px 0 0;font-size:.78rem;display:flex}.security-note span{color:#4eb9a5;font-size:.55rem}.session-loading{place-items:center;min-height:300px;display:grid}.loading-ring{border:3px solid #d9e6eb;border-top-color:#168392;border-radius:50%;width:38px;height:38px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.welcome-card{text-align:center}.success-icon{color:#fff;background:linear-gradient(145deg,#2bb49e,#16798a);border-radius:24px;place-items:center;width:72px;height:72px;margin:0 auto 30px;font-size:2rem;display:grid;box-shadow:0 16px 34px #1e928c3d}.welcome-card .form-subtitle{margin-bottom:30px}.logout-button{margin-top:24px}@media (width<=820px){.login-page{padding:20px}.login-shell{grid-template-columns:1fr;max-width:580px;min-height:0}.brand-panel{min-height:245px;padding:30px 34px}.time-illustration{opacity:.58;transform-origin:100% 0;width:250px;height:215px;margin:0;position:absolute;top:8px;right:-28px;transform:scale(.68)}.brand-message{max-width:70%;margin-top:70px}.brand-message h2{font-size:1.85rem}.brand-message p{font-size:.9rem}.form-panel{padding:88px 36px 44px}}@media (width<=500px){.login-page{background:#fff;padding:0;display:block}.login-shell{min-height:100vh;box-shadow:none;border:0;border-radius:0}.brand-panel{min-height:188px;padding:26px 24px}.brand-message{max-width:82%;margin-top:44px}.brand-message h2{margin-bottom:6px;font-size:1.55rem}.brand-message p{display:none}.form-panel{align-items:start;padding:82px 24px 38px}.language-switch{top:24px;right:24px}.form-content h1{font-size:2.4rem}.form-subtitle{margin-bottom:30px}.form-options{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-page{background:#f3f7fb;min-height:100vh}.app-header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid #dfe7ee;align-items:center;gap:34px;min-height:76px;padding:0 5vw;display:flex;position:sticky;top:0;box-shadow:0 5px 24px #1e3c5a0f}.app-brand{color:#16243a;align-items:center;gap:11px;font-weight:800;display:flex}.app-nav{align-self:stretch;gap:6px;display:flex}.app-nav button{color:#758496;cursor:pointer;background:0 0;border:0;padding:0 16px;font-weight:680;position:relative}.app-nav button.active{color:#176f82}.app-nav button.active:after{content:"";background:#21928f;border-radius:5px 5px 0 0;height:3px;position:absolute;bottom:0;left:14px;right:14px}.app-nav button:disabled{cursor:not-allowed;opacity:.48}.header-actions{align-items:center;gap:20px;margin-left:auto;display:flex}.language-switch.compact{position:static}.user-chip{align-items:center;gap:10px;display:flex}.user-chip>span{color:#fff;background:linear-gradient(135deg,#196f84,#21988e);border-radius:12px;place-items:center;width:38px;height:38px;font-size:.72rem;font-weight:800;display:grid}.user-chip div{gap:2px;display:grid}.user-chip strong{color:#27384d;font-size:.82rem}.environment-badge{letter-spacing:.04em;border:1px solid #0000;border-radius:999px;width:fit-content;padding:2px 6px;font-size:.61rem;font-weight:800;line-height:1.3}.environment-development{color:#80570c;background:#fff4d8;border-color:#e7b85c}.environment-staging{color:#285c94;background:#eaf4ff;border-color:#82aee0}.environment-production{color:#176b50;background:#e8f8f1;border-color:#74bd9d}.environment-loading{color:#66788b;background:#f2f6f9;border-color:#c9d4df}.environment-error{color:#a22f2f;background:#fff0f0;border-color:#e3a0a0}.user-chip button{color:#7d8b9b;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:.72rem}.content-shell{width:min(1120px,100% - 40px);margin:0 auto;padding:66px 0 80px}.page-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:32px;display:flex}.page-heading h1{color:#17263a;letter-spacing:-.05em;margin:0;font-size:clamp(2.2rem,4vw,3.3rem)}.page-heading p:last-child{color:#6f7e90;margin:12px 0 0}.add-button{color:#fff;cursor:pointer;background:linear-gradient(120deg,#146d82,#168d8c);border:0;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:0 19px;font-weight:750;display:inline-flex;box-shadow:0 10px 22px #146f822e}.add-button span{font-size:1.4rem;font-weight:400}.page-error{max-width:600px;margin:0 0 18px}.client-card{background:#fff;border:1px solid #dfe7ee;border-radius:22px;min-height:280px;overflow:hidden;box-shadow:0 18px 50px #27436314}.client-table{width:100%}.client-row{border-bottom:1px solid #edf1f4;grid-template-columns:minmax(250px,1fr) 190px 120px;align-items:center;gap:24px;min-height:76px;padding:0 26px;transition:background .15s,opacity .15s;display:grid}.client-row:last-child{border-bottom:0}.client-row:not(.client-table-head):hover{background:#f9fbfc}.client-table-head{color:#8290a0;letter-spacing:.08em;text-transform:uppercase;background:#f8fafc;min-height:54px;font-size:.74rem;font-weight:800}.client-row.inactive{opacity:.65;background:#fafbfc}.client-name{align-items:center;gap:14px;min-width:0;display:flex}.client-name strong{color:#26384d;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-name>span:last-child{gap:3px;min-width:0;display:grid}.bank-enabled-label{color:#287768;width:fit-content;font-size:.68rem;font-weight:750}.client-avatar{color:#176f82;background:#e5f5f4;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:.72rem;font-weight:850;display:grid}.action-column{justify-self:end}.status-toggle{color:#8a96a4;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;font-size:.84rem;font-weight:700;display:inline-flex}.status-toggle.active{color:#137667}.toggle-track{background:#cbd4dc;border-radius:20px;width:38px;height:22px;transition:background .15s;position:relative}.toggle-track span{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #192d4133}.status-toggle.active .toggle-track{background:#38aa93}.status-toggle.active .toggle-track span{transform:translate(16px)}.edit-button{color:#496175;cursor:pointer;background:#fff;border:1px solid #d7e1e8;border-radius:9px;min-height:36px;padding:0 14px;font-size:.8rem;font-weight:700}.edit-button:hover{color:#176f82;background:#f5fbfb;border-color:#9fc3c9}.empty-state{text-align:center;align-content:center;place-items:center;min-height:340px;padding:40px;display:grid}.empty-state h2{color:#26384e;margin:18px 0 8px}.empty-state p{color:#7b8998;margin:0 0 24px}.empty-icon{color:#177586;background:#e3f4f3;border-radius:20px;place-items:center;width:62px;height:62px;font-size:1.35rem;font-weight:850;display:grid}.primary-button.small{width:auto;min-height:44px;padding:0 20px}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f1f3180;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.client-modal{background:#fff;border-radius:22px;width:min(480px,100%);padding:30px;box-shadow:0 28px 80px #0c1e3140}.modal-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.modal-heading h2{color:#1b2a3e;letter-spacing:-.035em;margin:0;font-size:1.65rem}.close-button{color:#718092;cursor:pointer;background:#f2f5f7;border:0;border-radius:10px;width:36px;height:36px;font-size:1.4rem}.client-modal form>label{color:#26384f;margin-bottom:9px;font-size:.88rem;font-weight:700;display:block}.client-modal input{border:1px solid #d4dfe8;border-radius:11px;outline:0;width:100%;height:52px;padding:0 16px}.client-modal input:focus{border-color:#258ca0;box-shadow:0 0 0 4px #258ca01f}.client-modal .error-message{margin:16px 0 0}.hour-bank-settings{border:1px solid var(--line);border-radius:12px;margin:20px 0 0;padding:16px}.hour-bank-settings legend{color:var(--ink);padding:0 6px;font-weight:800}.client-modal .bank-enable{align-items:center;gap:9px;margin:0;display:flex}.client-modal .bank-enable input{width:auto;height:auto}.bank-setting-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.bank-setting-grid label{color:var(--ink-soft);gap:6px;font-size:.72rem;font-weight:800;display:grid}.modal-actions{grid-template-columns:1fr 1.3fr;gap:12px;margin-top:28px;display:grid}.secondary-button{color:#586a7d;cursor:pointer;background:#fff;border:1px solid #d4dfe8;border-radius:12px;min-height:52px;font-weight:700}.project-toolbar{align-items:center;gap:14px;margin:-8px 0 24px;display:flex}.project-toolbar label{color:#536579;font-size:.84rem;font-weight:750}.project-toolbar select{color:#26384d;background:#fff;border:1px solid #d5e0e8;border-radius:11px;outline:0;min-width:280px;height:46px;padding:0 42px 0 14px}.project-toolbar select:focus{border-color:#258ca0;box-shadow:0 0 0 4px #258ca01a}.project-table .client-row{grid-template-columns:minmax(240px,1fr) 140px 180px 110px}.project-table.confidential-projects .client-row{grid-template-columns:minmax(240px,1fr) 180px 110px}.rate-value{color:#284057;font-variant-numeric:tabular-nums}.project-modal form>label:not(:first-child){margin-top:20px}.money-input{position:relative}.money-input>span{z-index:1;color:#68798b;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.money-input input{font-variant-numeric:tabular-nums;padding-left:34px}.money-input.protected-rate-input input{padding-right:58px}.rate-visibility-button{color:#52677a;cursor:pointer;background:#edf3f6;border:0;border-radius:9px;width:40px;height:38px;font-size:1.25rem;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.rate-visibility-button:hover,.rate-visibility-button:focus-visible{color:#147f8d;background:#e2f3f2;outline:0}.rate-choice{border:0;gap:10px;margin:24px 0 0;padding:0;display:grid}.rate-choice legend{color:#26384f;margin-bottom:10px;font-size:.88rem;font-weight:750}.rate-choice label{cursor:pointer;border:1px solid #dce5eb;border-radius:11px;align-items:flex-start;gap:10px;padding:13px;display:flex}.rate-choice label:has(input:checked){background:#f3fbfa;border-color:#5aa7ad}.rate-choice input{width:auto;height:auto;margin-top:3px}.rate-choice span{gap:3px;display:grid}.rate-choice strong{color:#314459;font-size:.84rem}.rate-choice small{color:#7b8998;line-height:1.4}@media (width<=760px){.app-header{min-height:68px;padding:0 20px}.app-nav,.user-chip div{display:none}.header-actions{gap:10px}.content-shell{width:min(100% - 28px,1120px);padding-top:40px}.page-heading{flex-direction:column;align-items:flex-start}.client-row{grid-template-columns:minmax(140px,1fr) auto;gap:10px;padding:12px 16px}.client-table-head{display:none}.action-column{grid-column:2;justify-self:end}.client-row .action-column{grid-row:1}.client-row>div:nth-child(2){grid-column:1/-1}.project-toolbar{flex-direction:column;align-items:stretch}.project-toolbar select{width:100%;min-width:0}.project-table .client-row,.project-table.confidential-projects .client-row{grid-template-columns:minmax(150px,1fr) auto}.project-table .rate-value{grid-column:1}.project-table .status-toggle{grid-column:1/-1}}.worklog-shell{max-width:1500px}.heading-actions{align-items:center;gap:10px;display:flex}.export-button,.import-button{min-width:140px}.confidential-switch{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.journal-filters{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:repeat(4,minmax(160px,1fr));align-items:end;gap:16px;padding:20px;display:grid}.journal-filters label,.entry-modal form>label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;gap:7px;font-size:12px;font-weight:800;display:grid}.journal-filters input,.journal-filters select,.entry-modal input,.entry-modal textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;background:#fff;border-radius:9px;padding:11px 12px}.period-selector{grid-column:1/-1;gap:8px;display:grid}.filter-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.period-controls{align-items:center;gap:10px;display:flex}.preset-group{background:#edf3f7;border:1px solid #bdcad5;border-radius:11px;display:inline-flex;overflow:hidden}.preset-group button{color:#526579;cursor:pointer;background:0 0;border:0;border-right:1px solid #bdcad5;min-width:92px;padding:11px 16px;font-weight:750}.preset-group button:last-child{border-right:0}.preset-group button:hover:not(.active){color:var(--ink);background:#fff}.preset-group button.active{background:var(--blue);color:#fff;box-shadow:inset 0 0 0 1px var(--blue)}.period-arrow{width:42px;height:42px;color:var(--blue);cursor:pointer;background:#fff;border:1px solid #a9c7e7;border-radius:11px;flex:0 0 42px;font-size:19px;font-weight:800}.period-arrow:hover:not(:disabled){border-color:var(--blue);background:#f1f7fd}.period-arrow:disabled{opacity:.35;cursor:default}.journal-hint{color:var(--ink-soft);margin:12px 4px;font-size:13px}.hour-bank-panel{background:#f8fcfb;border:1px solid #c6d9d8;border-radius:16px;margin:18px 0;padding:20px;box-shadow:0 12px 32px #20706c12}.hour-bank-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.hour-bank-heading h2{margin:3px 0 0;font-size:1.15rem}.hour-bank-balances{gap:10px;display:flex}.hour-bank-balances span{min-width:110px;color:var(--ink-soft);background:#fff;border-radius:9px;gap:2px;padding:8px 12px;font-size:.72rem;display:grid}.hour-bank-balances strong{color:var(--ink);font-size:1rem}.hour-bank-days{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.hour-bank-day{border-top:1px solid var(--line);grid-template-columns:1.2fr .8fr .8fr .8fr;align-items:center;gap:12px;min-height:46px;padding:7px 12px;display:grid}.hour-bank-day:first-child{border-top:0}.hour-bank-day-head{min-height:34px;color:var(--ink-soft);text-transform:uppercase;background:#f0f5f7;font-size:.7rem;font-weight:800}.hour-bank-day input{width:92px!important;padding:7px 9px!important}.hour-bank-day .positive{color:#18733b}.hour-bank-day .negative{color:#b54708}.hour-bank-note{color:var(--ink-soft);text-transform:uppercase;gap:6px;margin-top:14px;font-size:.72rem;font-weight:800;display:grid}.hour-bank-note input{padding:10px 12px}.hour-bank-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.hour-bank-footer small{color:var(--ink-soft)}.hour-bank-modal{width:min(820px,100vw - 32px)}.bank-summary-card{min-width:190px;color:var(--ink);text-align:left;cursor:pointer;background:#f4fbfa;border:1px solid #9fcfca;border-radius:12px;gap:2px;padding:10px 16px;display:grid}.bank-summary-card:hover{border-color:var(--teal);box-shadow:0 8px 22px #087f8b1f}.bank-summary-card em{color:var(--teal);font-size:.7rem;font-style:normal;font-weight:800}.bank-summary-card .positive,.positive{color:#18733b}.bank-summary-card .negative,.negative{color:#b54708}.page-notice{margin:12px 0}.journal-summary{align-items:stretch;gap:12px;margin:18px 0 10px;display:flex}.journal-summary>div{border:1px solid var(--line);background:#fff;border-radius:12px;gap:3px;min-width:130px;padding:12px 16px;display:grid}.journal-summary span{color:var(--ink-soft);font-size:12px}.journal-summary strong{font-size:20px}.journal-summary strong small{color:#718296;font-size:.72em;font-weight:750}.journal-summary label{align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.journal-actions{gap:8px;margin:10px 0;display:flex}.journal-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:9px 12px}.journal-actions button.danger{color:#b42318}.journal-actions button:disabled{opacity:.45;cursor:default}.journal-loading{color:var(--ink-soft);align-items:center;gap:10px;margin:8px 0;font-size:13px;display:flex}.journal-loading .loading-ring{width:18px;height:18px}.journal-table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow-x:auto}.journal-table{border-collapse:collapse;width:100%;font-size:13px}.journal-table th{color:var(--ink-soft);text-align:left;white-space:nowrap;cursor:pointer;background:#f7f9fc;padding:11px 10px}.journal-table td{border-top:1px solid var(--line);vertical-align:top;white-space:nowrap;padding:9px 10px}.journal-table .description-cell{width:100%;min-width:300px;max-width:520px}.description-preview{width:100%;max-width:520px;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;display:block;overflow:hidden}.description-preview:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:3px}.description-tooltip{z-index:1000;color:#fff;white-space:pre-wrap;pointer-events:none;background:#17243a;border:1px solid #b8c6d3;border-radius:10px;width:max-content;max-width:min(540px,100vw - 24px);max-height:min(420px,100vh - 24px);padding:12px 14px;font-size:13px;line-height:1.45;position:fixed;overflow:auto;box-shadow:0 14px 35px #17243a3d}.journal-table tr.deleted-entry{opacity:.55;background:#fff3f2;text-decoration:line-through}.row-actions{gap:5px;display:flex}.row-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:5px 7px}.row-actions .delete-entry-action{color:#b42318;background:#fff7f6;border-color:#efc8c4;font-weight:900}.row-actions .restore-entry-action{color:#087443;background:#f1fbf6;border-color:#a9d9c0;font-weight:900}.empty-table{text-align:center;height:150px;color:var(--ink-soft)}.journal-pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;display:flex}.journal-pagination label{align-items:center;gap:8px;margin-right:auto;display:flex}.journal-pagination select,.journal-pagination button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 10px}.entry-modal{width:min(760px,100vw - 32px)}.entry-modal form{gap:16px;display:grid}.entry-modal textarea{resize:vertical;min-height:180px}.entry-time-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.entry-time-grid label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;gap:7px;font-size:12px;font-weight:800;display:grid}.entry-bank-preview{background:#f2f8f8;border-radius:10px;align-items:baseline;gap:12px;margin-top:-4px;padding:10px 12px;display:flex}.entry-bank-preview span{color:var(--ink-soft);text-transform:uppercase;font-size:.75rem;font-weight:800}.entry-bank-preview strong{font-size:1.1rem}.entry-bank-preview small{color:var(--ink-soft);margin-left:auto}.import-modal{width:min(760px,100vw - 32px)}.import-warning{color:#7a4710;background:#fff8eb;border-left:4px solid #d97706;margin:0 0 20px;padding:12px 14px;line-height:1.5}.import-file,.import-confirmation{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;gap:8px;margin-bottom:16px;font-size:12px;font-weight:800;display:grid}.import-file input,.import-confirmation input{width:100%;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;border-radius:9px;padding:12px}.import-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 12px;display:grid}.import-summary div{border:1px solid var(--line);background:#f7fafc;border-radius:10px;gap:4px;padding:12px;display:grid}.import-summary span{color:var(--ink-soft);font-size:12px}.import-summary strong{color:var(--ink)}.import-details{color:var(--ink-soft);margin:0 0 18px;font-size:13px;line-height:1.55}.danger-import{background:#b42318}.danger-import:hover:not(:disabled){background:#8f1c13}.profile-shell{max-width:1100px}.profile-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.profile-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:28px}.profile-card h2{margin:0 0 24px}.profile-card form{gap:17px;display:grid}.profile-card label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;gap:7px;font-size:12px;font-weight:800;display:grid}.profile-card input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;border-radius:9px;padding:12px}.success-message{color:#18733b;background:#eaf8ef;border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.warning-message{color:#805d08;background:#fff8df;border:1px solid #efd591;border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.registration-names{grid-template-columns:1fr 1fr;gap:12px;display:grid}.registration-names label{margin:0}.account-switch{width:100%;color:var(--blue);cursor:pointer;background:0 0;border:0;margin-top:16px;font-weight:800}.subscription-expired-shell{place-items:center;min-height:calc(100vh - 80px);padding:44px 20px;display:grid}.subscription-expired-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:24px;width:min(680px,100%);padding:42px;box-shadow:0 24px 70px #132d471c}.subscription-lock{background:#fff4dc;border-radius:20px;place-items:center;width:64px;height:64px;margin:0 auto 20px;font-size:30px;display:grid}.subscription-expired-card h1{color:var(--ink);letter-spacing:-.045em;margin:8px 0 14px;font-size:clamp(2rem,5vw,3.2rem)}.subscription-description{max-width:560px;color:var(--ink-soft);margin:0 auto 24px;line-height:1.65}.subscription-date{background:#f1f6f9;border-radius:12px;gap:3px;padding:12px 20px;display:inline-grid}.subscription-date span{color:var(--ink-soft);font-size:12px}.subscription-date strong{color:var(--ink)}.subscription-limited{color:#70420d;text-align:left;background:#fff8eb;border-left:4px solid #d97706;margin:24px 0;padding:14px 16px}.subscription-limited p{margin:5px 0 0;line-height:1.5}.subscription-actions{gap:10px;display:grid}.subscription-actions .primary-button{place-items:center;text-decoration:none;display:grid}.admin-shell{max-width:1500px}.admin-toolbar{align-items:end;gap:14px;margin:4px 0 18px;display:flex}.admin-toolbar label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;flex:1;gap:7px;font-size:12px;font-weight:800;display:grid}.admin-toolbar input{width:100%;max-width:520px;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;border-radius:10px;padding:11px 13px}.admin-table-wrap{border:1px solid var(--line);background:#fff;border-radius:16px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{color:var(--ink-soft);text-align:left;white-space:nowrap;background:#f4f7fa;padding:12px 14px}.admin-table td{border-top:1px solid var(--line);vertical-align:middle;white-space:nowrap;padding:12px 14px}.admin-table td:first-child{white-space:normal;min-width:220px}.admin-table td:first-child strong,.admin-table td:first-child small{display:block}.admin-table td:first-child small{color:var(--ink-soft);margin-top:3px}.admin-table .secondary-button.small{min-height:36px;padding:0 14px}.admin-role{color:#176f82;background:#e8f3f8;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.account-status{align-items:center;gap:6px;font-weight:750;display:inline-flex}.account-status:before{content:"";background:#718296;border-radius:50%;width:8px;height:8px}.account-status.status-active:before{background:#1b8a4b}.account-status.status-suspended:before{background:#d97706}.account-status.status-disabled:before{background:#b42318}.admin-user-modal{width:min(680px,100vw - 32px)}.admin-user-modal form{gap:16px;display:grid}.admin-user-modal form>label,.form-two-columns>label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;gap:7px;font-size:12px;font-weight:800;display:grid}.admin-user-modal input,.admin-user-modal select{width:100%;min-height:50px;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;border-radius:10px;padding:10px 13px}.admin-user-modal small{color:var(--ink-soft);text-transform:none;letter-spacing:normal;font-weight:500}.form-two-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.admin-user-modal .admin-checkbox{border:1px solid var(--line);min-height:50px;color:var(--ink);cursor:pointer;text-transform:none;letter-spacing:normal;border-radius:10px;align-self:end;align-items:center;gap:10px;padding:0 14px;display:flex}.admin-user-modal .admin-checkbox input{width:auto;min-height:auto}.admin-row-actions{gap:7px;display:flex}.admin-user-modal textarea{resize:vertical;min-height:82px}.subscription-profile-card{margin-top:24px}.subscription-profile-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.subscription-profile-heading h2{margin:3px 0 0}.subscription-profile-heading .secondary-button{place-items:center;padding:0 18px;text-decoration:none;display:grid}.subscription-current{grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 28px;display:grid}.subscription-current>div{background:#f2f7fa;border-radius:12px;gap:4px;padding:14px 16px;display:grid}.subscription-current span{color:var(--ink-soft);font-size:12px}.subscription-profile-card h3{margin:0 0 12px}.subscription-history{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.subscription-history table{border-collapse:collapse;width:100%;font-size:13px}.subscription-history th{color:var(--ink-soft);text-align:left;background:#f4f7fa;padding:10px 12px}.subscription-history td{border-top:1px solid var(--line);padding:11px 12px}.floating-help-button{z-index:900;color:#fff;cursor:pointer;background:linear-gradient(135deg,#087f8b,#18a29b);border:0;border-radius:50%;width:52px;height:52px;font-size:1.45rem;font-weight:900;position:fixed;bottom:28px;right:28px;box-shadow:0 12px 28px #087f8b4d}.floating-help-button:hover{transform:translateY(-2px);box-shadow:0 15px 32px #087f8b61}.floating-help-button:focus-visible{outline-offset:3px;outline:4px solid #087f8b40}.help-back{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:10px 12px;font-weight:800}.help-brand{margin-right:auto}.help-shell{max-width:1180px;padding-bottom:80px}.help-tabs{border:1px solid var(--line);background:#edf3f7;border-radius:14px;gap:5px;margin:4px 0 24px;padding:5px;display:flex}.help-tabs button{min-height:46px;color:var(--ink-soft);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;flex:1;font-weight:800}.help-tabs button.active{color:#fff;background:var(--teal);box-shadow:0 5px 14px #087f8b33}.manual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.help-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px 24px;box-shadow:0 10px 28px #1b37540d}.help-card h2{color:var(--ink);margin:0 0 9px;font-size:1.08rem}.help-card p{color:var(--ink-soft);margin:0;line-height:1.65}.contextual-help{max-width:820px;margin:0 auto;padding:30px 34px}.contextual-help h2{margin:5px 0 20px;font-size:1.55rem}.contextual-help ol{gap:14px;margin:0;padding-left:24px;display:grid}.contextual-help li{color:var(--ink);padding-left:7px;line-height:1.55}.contextual-help li::marker{color:var(--teal);font-weight:900}.about-layout{gap:18px;max-width:900px;margin:0 auto;display:grid}.about-summary{align-items:center;gap:16px;display:flex}.about-summary .brand-mark{width:54px;height:54px;font-size:1rem}.about-summary h2{margin:0 0 4px;font-size:1.5rem}.release-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.release-heading h2{margin:0;font-size:1.3rem}.release-heading span{color:#126b70;background:#e8f8f5;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:800}.release-card ul{gap:11px;margin:0;padding-left:22px;display:grid}.release-card li{color:var(--ink);line-height:1.5}.release-card li::marker{color:var(--teal)}.trial-registration-note{color:#126b70;background:#effbf8;border:1px solid #9edbd2;border-radius:12px;margin:18px 0 2px;padding:12px 14px;font-size:14px;line-height:1.45}.entry-assignment-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.subscription-warning{color:#7b4c00;background:#fff8e8;border:1px solid #e8bf6a;border-radius:12px;margin:0 0 14px;padding:12px 15px;font-weight:700}@media (width<=1050px){.journal-filters{grid-template-columns:repeat(2,minmax(180px,1fr))}.confidential-switch{display:none}.profile-grid{grid-template-columns:1fr}}@media (width<=760px){.period-controls{align-items:stretch}.preset-group{flex:1;overflow-x:auto}.preset-group button{min-width:82px;padding-inline:12px}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-toolbar input{max-width:none}.form-two-columns{grid-template-columns:1fr}.subscription-profile-heading{flex-direction:column;align-items:stretch}.subscription-current,.manual-grid{grid-template-columns:1fr}.floating-help-button{bottom:18px;right:18px}.help-brand{display:none}.help-tabs{overflow-x:auto}.help-tabs button{min-width:110px}}input:not([type=checkbox]):not([type=radio]),select,textarea{outline:none;transition:border-color .15s,box-shadow .15s,background-color .15s;box-shadow:inset 0 1px 3px #142e481a;background-color:#edf3f7!important;border:2px solid #7d92a5!important}input:not([type=checkbox]):not([type=radio]):hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){background-color:#f7fafc!important;border-color:#46677f!important}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{background-color:#fff!important;border-color:#087f8b!important;box-shadow:0 0 0 4px #087f8b38,inset 0 1px 2px #142e480a!important}input:not([type=checkbox]):not([type=radio]):disabled,select:disabled,textarea:disabled{color:#7b8998;box-shadow:none;cursor:not-allowed;background-color:#edf2f6!important;border-color:#c0ccd6!important}
