.input,input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],input[type=time],select,textarea{width:100%;max-width:520px;min-width:0;box-sizing:border-box;padding:.6rem .9rem;margin-bottom:1rem;border-radius:var(--radius-small);border:1px solid var(--border-muted,#dfe5ea);background:var(--surface-alt,#ffffff);color:var(--text-main,#222);font-size:1rem;font-family:inherit;line-height:1.4;resize:vertical;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease,color .14s ease}textarea{min-height:120px}.input:hover,input[type=date]:hover,input[type=email]:hover,input[type=number]:hover,input[type=password]:hover,input[type=text]:hover,input[type=time]:hover,select:hover,textarea:hover{border-color:var(--border-strong,#cbd5e1)}.input:focus-visible,input[type=date]:focus-visible,input[type=email]:focus-visible,input[type=number]:focus-visible,input[type=password]:focus-visible,input[type=text]:focus-visible,input[type=time]:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent,#4cafab);box-shadow:0 0 0 3px var(--ring,rgba(76,175,171,.25))}input::placeholder,textarea::placeholder{color:var(--text-muted,#666);opacity:.9}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.85;background:var(--surface-bg,#f5f7f9);color:var(--text-muted,#666)}.checkbox-label{font-size:.95rem;color:-default;line-height:1.5;display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:.4rem;row-gap:.15rem}.checkbox-label input[type=checkbox]{flex:0 0 auto;margin-top:.15rem}.checkbox-label a{text-decoration:underline;text-underline-offset:2px}.success-text{color:var(--success)}.error-text,.success-text{font-size:.9rem;margin-top:.5rem}.error-text{color:var(--danger,#f44336)}.warning-text{color:var(--alert-yellow,#ffa825);font-size:.9rem;margin-top:.5rem}.help-text{color:var(--text-muted,#666);font-size:.85rem;margin-top:.25rem}.prefs-grid{display:grid;gap:1rem}.btn,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1rem;margin-bottom:1rem;margin-right:1rem;background-color:var(--accent);color:var(--text-inverted);border:1px solid rgba(0,0,0,0);border-radius:var(--radius-small);font-size:1rem;font-weight:600;line-height:1.1;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform 80ms ease;text-decoration:none;box-shadow:var(--shadow-sm,var(--shadow-default))}.btn:hover,.button:hover{background-color:var(--accent-hover);color:var(--text-inverted)}.btn:active,.button:active{transform:translateY(1px)}.btn:focus-visible,.button:focus-visible{outline:none;box-shadow:var(--ring,0 0 0 3px rgba(76,175,171,.22)),var(--shadow-sm,var(--shadow-default))}.btn.disabled,.btn:disabled,.button.disabled,.button:disabled{opacity:.55;cursor:not-allowed;pointer-events:none;transform:none}.btn-secondary,.btn.secondary,.button-secondary,.button.secondary{background-color:var(--surface-alt);color:var(--text-main);border-color:var(--border-muted);box-shadow:none}.btn-secondary:hover,.btn.secondary:hover,.button-secondary:hover,.button.secondary:hover{background-color:var(--surface-bg);border-color:var(--border-strong,var(--border-muted))}.btn-secondary:focus-visible,.btn.secondary:focus-visible,.button-secondary:focus-visible,.button.secondary:focus-visible{outline:none;box-shadow:var(--ring,0 0 0 3px rgba(76,175,171,.22))}.btn-ghost,.btn.ghost,.button-ghost,.button.ghost{background:rgba(0,0,0,0);color:var(--text-main);border-color:rgba(0,0,0,0);box-shadow:none}.btn-ghost:hover,.btn.ghost:hover,.button-ghost:hover,.button.ghost:hover{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.04)}.btn-ghost:focus-visible,.btn.ghost:focus-visible,.button-ghost:focus-visible,.button.ghost:focus-visible{outline:none;box-shadow:var(--ring,0 0 0 3px rgba(76,175,171,.22))}.button-green{background-color:var(--success)}.button-green:hover{background-color:#45a049}.btn.danger,.button-danger,.button-red{background-color:var(--danger)}.btn.danger:hover,.button-danger:hover,.button-red:hover{background-color:var(--danger-hover)}.btn.logout{background-color:#c62828;color:var(--text-inverted);margin-bottom:0}.card{background-color:var(--surface-alt);border-radius:var(--radius-medium);padding:1.5rem;border:1px solid var(--border-muted);box-shadow:var(--shadow-sm,var(--shadow-default))}.card--tight{padding:1.25rem}.card--hover{transition:box-shadow .15s ease,transform .12s ease,border-color .15s ease}.card--hover:hover{box-shadow:var(--shadow-lg,var(--shadow-default));transform:translateY(-1px);border-color:var(--border-strong,var(--border-muted))}.card-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.card-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-main)}.card-subtitle{margin:0;font-size:.9rem;color:var(--text-muted)}.version-tag{font-size:.85rem;color:var(--text-muted);margin-top:auto}.logo-img{width:50%;max-width:340px;height:auto;object-fit:contain;display:block;margin:0 auto 1.5rem}.dashboard-gradient-wrapper{min-height:100vh;padding:2rem}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.dashboard-card{background-color:var(--surface-alt);border-radius:var(--radius-large);box-shadow:var(--shadow-sm,0 2px 6px rgba(0,0,0,.06));transition:transform .12s ease,box-shadow .15s ease,border-color .15s ease;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.dashboard-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg,0 12px 40px rgba(0,0,0,.12));border-color:var(--border-strong,var(--surface-header))}.dashboard-card h2{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-main)}.dashboard-card.disabled{background-color:var(--surface-alt);color:var(--text-muted);border:1px dashed var(--border-muted);cursor:not-allowed;box-shadow:none;transform:none;opacity:.75}.dashboard-card.disabled:hover{box-shadow:none;transform:none;border-color:var(--border-muted)}.card-description,.dashboard-card.disabled .card-description,.dashboard-card.disabled h2{color:var(--text-muted)}.card-description{font-size:.95rem;line-height:1.5;margin:0}.readonly-banner{width:100%;padding:10px 2rem;background:var(--color-warning-bg,#fff8e1);border-bottom:1px solid var(--color-warning-border,#ffe082);color:var(--color-warning-text,#7a5c00);font-size:.875rem;box-sizing:border-box}.tracker-layout{display:flex;gap:2rem;padding:2rem;min-height:100vh}.tracker-layout .tracker-sidebar{flex:0 0 300px}.tracker-layout .tracker-main{flex:1;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.tracker-layout .tracker-table-scroll{max-width:100%}@media(max-width:767px){.tracker-layout{flex-direction:column;gap:1rem;padding:1rem}.tracker-layout .tracker-sidebar{flex:none;width:100%;overflow:hidden}.tracker-layout .tracker-main{width:100%}}.tracker-field-label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;margin-bottom:-.5rem}.tracker-form{display:flex;flex-direction:column;gap:1rem;background:var(--surface-alt);padding:1.5rem;border-radius:var(--radius-medium);box-shadow:var(--shadow-default);border:1px solid var(--border-muted)}.tracker-form input,.tracker-form select{padding:.75rem;border-radius:8px;border:1px solid var(--border-muted);font-size:1rem;background:var(--surface-alt);color:var(--text-main);transition:border-color .2s ease,box-shadow .2s ease;min-height:44px;width:100%;box-sizing:border-box;color-scheme:light}.tracker-form input:focus,.tracker-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring,rgba(76,175,171,.2))}.tracker-form input[type=date]{-webkit-appearance:none;appearance:none;max-width:100%;min-width:0;box-sizing:border-box}.tracker-form button{background-color:var(--accent);color:var(--text-inverted);padding:.75rem;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:background .3s ease}.tracker-form button:hover{background-color:var(--accent-hover)}.tracker-sidebar-header{text-align:center;margin-bottom:.75rem}.tracker-sidebar-header h2{margin-bottom:.35rem}.tracker-customize-link{display:inline-block;font-size:.82rem;color:var(--text-muted);text-decoration:none;transition:color .15s}.tracker-customize-link:hover{color:var(--color-primary,var(--accent))}.field-editor-page{padding:2rem;max-width:700px;margin:0 auto}@media(max-width:600px){.field-editor-page{padding:1rem}}.field-editor-header{margin-bottom:2rem}.field-editor-header h1{margin:.5rem 0 .25rem}.field-editor-header .field-editor-intro{color:var(--text-muted);font-size:.95rem;margin:0}.field-editor-sections{display:flex;flex-direction:column;gap:1.5rem}.field-editor-section{background:var(--surface-alt);border:1px solid var(--border-muted);border-radius:12px;padding:1.25rem 1.5rem}.field-editor-section h2{margin:0 0 .2rem;font-size:1.1rem;color:var(--text-main)}.field-editor-section .field-editor-section-desc{font-size:.85rem;color:var(--text-muted);margin:0 0 .25rem}.field-editor-section .field-editor-section-meta{font-size:.8rem;color:var(--text-muted);opacity:.75;margin:0 0 1rem}.custom-items-list{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.5rem}.custom-item{display:inline-flex;align-items:center;gap:.35rem;background:var(--surface-bg);border:1px solid var(--border-muted);border-radius:20px;padding:.25rem .6rem .25rem .75rem;font-size:.88rem;color:var(--text-main)}.custom-item .custom-item-delete{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1.1rem;line-height:1;padding:0 .1rem;transition:color .15s}.custom-item .custom-item-delete:hover:not(:disabled){color:var(--color-danger,#d32f2f)}.custom-item .custom-item-delete:disabled{opacity:.4;cursor:not-allowed}.field-editor-add-row{display:flex;gap:.5rem;align-items:center}.field-editor-add-row .field-editor-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--surface-bg);color:var(--text-main);font-size:.9rem;font-family:var(--font-body)}.field-editor-add-row .field-editor-input:focus{outline:none;border-color:var(--color-primary,var(--accent))}.field-editor-add-row .field-editor-input:disabled{opacity:.5}.field-editor-error{font-size:.85rem;color:var(--color-danger,#d32f2f);margin:.5rem 0 0}.field-editor-limit-note{font-size:.82rem;color:var(--text-muted);margin:.5rem 0 0}.field-editor-sub-label{display:block;font-size:.82rem;font-weight:600;color:var(--text-muted);margin-bottom:.35rem;letter-spacing:.01em}.required-badge{display:inline-block;margin-left:.4rem;font-size:.75rem;font-weight:500;color:var(--color-primary,var(--accent));opacity:.85}.emotion-mode-tabs{display:flex;gap:.5rem;margin:.75rem 0 1rem;border-bottom:1px solid var(--border-muted);padding-bottom:0}.emotion-mode-tab{background:none;border:none;border-bottom:2px solid rgba(0,0,0,0);padding:.4rem .75rem;margin-bottom:-1px;font-size:.88rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s;border-radius:0}.emotion-mode-tab:hover{color:var(--text-main)}.emotion-mode-tab.active{color:var(--color-primary,var(--accent));border-bottom-color:var(--color-primary,var(--accent));font-weight:600}.emotion-extend-panel,.emotion-new-panel{padding-top:.25rem}.emotion-sub-section{margin-bottom:1.25rem}.emotion-sub-section:last-child{margin-bottom:0}.emotion-custom-list{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-muted);display:flex;flex-direction:column;gap:.6rem}.emotion-custom-item{background:var(--surface-bg);border:1px solid var(--border-muted);border-radius:8px;padding:.6rem .75rem}.emotion-custom-item .emotion-custom-item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.emotion-custom-item .emotion-custom-item-header strong{font-size:.92rem;color:var(--text-main)}.tracker-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--radius-medium);overflow:hidden;background:var(--surface-bg);border:1px solid var(--border-muted);box-shadow:var(--shadow-sm,var(--shadow-default));table-layout:auto}.tracker-table td,.tracker-table th{padding:.85rem 1rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.06);white-space:normal;word-wrap:break-word;overflow-wrap:break-word;vertical-align:top}.tracker-table td.nowrap{white-space:nowrap!important}.tracker-table thead th{background-color:var(--surface-alt);font-weight:700;color:var(--text-main);font-size:.9rem}.tracker-table tbody tr:nth-child(2n){background-color:rgba(0,0,0,.015)}.tracker-table tbody tr:hover{background-color:rgba(0,0,0,.035)}.tracker-table button{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--accent);padding:.25rem}.tracker-table button:hover{background:var(--accent-light);border-radius:4px}.tracker-table button:focus-visible{outline:none;box-shadow:var(--ring,0 0 0 3px rgba(76,175,171,.22));border-radius:6px}.tracker-table button:disabled{color:#ccc;cursor:not-allowed;opacity:.55}.tracker-table th.sortable-th{cursor:pointer;user-select:none}.tracker-table th.sortable-th.active{text-decoration:underline 2px solid;text-underline-offset:4px}.tracker-table .tracker-row-actions{display:flex;gap:.25rem;white-space:nowrap}.table-scroll-container{padding-bottom:.25rem;border-radius:var(--radius-medium)}.table-scroll,.table-scroll-container{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.code-block{margin:0;padding:.75rem;border-radius:var(--radius-medium);background:rgba(0,0,0,.04);border:1px solid var(--border-muted);color:var(--text-main);font-size:.92rem;line-height:1.35;white-space:pre-wrap;word-break:break-word}.code-block,.code-inline{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.code-inline{font-size:.92em}.tracker-table input,.tracker-table select{max-width:200px}@media(max-width:767px){.tracker-table td:nth-child(5),.tracker-table td:nth-child(6),.tracker-table th:nth-child(5),.tracker-table th:nth-child(6){display:none}.tracker-mobile-hint{display:block}}.tracker-mobile-hint{display:none;font-size:.78rem;color:var(--text-muted);margin-bottom:.5rem;text-align:right}.tracker-desktop-view{display:block}.tracker-mobile-view{display:none}@media(max-width:767px){.tracker-desktop-view{display:none}.tracker-mobile-view{display:flex;flex-direction:column;gap:.75rem}.tracker-view-toggle{display:none}}.tracker-desktop-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;align-items:start}@media(max-width:1300px){.tracker-desktop-cards{grid-template-columns:repeat(4,1fr)}}@media(max-width:1050px){.tracker-desktop-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.tracker-desktop-cards{grid-template-columns:repeat(2,1fr)}}.tracker-desktop-cards .tracker-entry-card__header{align-items:flex-start}.tracker-card-sort-bar{display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem;flex-wrap:wrap}.tracker-card-sort-bar__label{font-size:.82rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.tracker-card-sort-select{padding:.35rem .65rem;border-radius:8px;border:1px solid var(--border-muted);background:var(--surface-alt);color:var(--text-main);font-size:.9rem;font-family:inherit;cursor:pointer;min-height:34px;color-scheme:light}.tracker-card-sort-select:focus{outline:none;border-color:var(--accent,#4cafab);box-shadow:0 0 0 3px var(--ring,rgba(76,175,171,.2))}.tracker-card-sort-dir{padding:.35rem .75rem!important;font-size:.9rem!important;min-height:34px!important;margin:0!important}.tracker-entry-card{background:var(--surface-alt);border:1px solid var(--border-muted);border-radius:var(--radius-medium);overflow:hidden;box-shadow:var(--shadow-sm,var(--shadow-default))}.tracker-entry-card--editing{border-color:var(--accent,#4cafab)}.tracker-entry-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.85rem 1rem;border:none;cursor:pointer;text-align:left;color:var(--text-main);font-family:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0)}.tracker-entry-card__header,.tracker-entry-card__header:hover{background:var(--surface-alt)}.tracker-entry-card__header:focus{outline:none;background:var(--surface-alt)}.tracker-entry-card__header:focus-visible{outline:2px solid var(--accent,#4cafab);outline-offset:-2px}.tracker-entry-card__header-left{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0}.tracker-entry-card__date{font-weight:700;font-size:.95rem;white-space:nowrap}.tracker-entry-card__badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.tracker-entry-card__badge--emotion{background:rgba(var(--accent-rgb,76 175 171),.15);color:var(--accent,#4cafab)}.tracker-entry-card__badge--trigger{background:var(--surface-bg);color:var(--text-muted);border:1px solid var(--border-muted)}.tracker-entry-card__edit-header{border-bottom:1px solid var(--border-muted);padding:.85rem 1rem .75rem}.tracker-entry-card__body,.tracker-entry-card__edit-body{display:flex;flex-direction:column;gap:.6rem;padding:.75rem 1rem;border-top:1px solid var(--border-muted)}.tracker-entry-card__field{display:flex;flex-direction:column;gap:.15rem}.tracker-entry-card__field-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.tracker-entry-card__edit-input,.tracker-entry-card__field-value{font-size:.95rem;color:var(--text-main)}.tracker-entry-card__edit-input{padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border-muted);background:var(--surface-alt);width:100%;box-sizing:border-box;min-height:44px;font-family:inherit;color-scheme:light}.tracker-entry-card__edit-input:focus{outline:none;border-color:var(--accent,#4cafab);box-shadow:0 0 0 3px var(--ring,rgba(76,175,171,.2))}.tracker-entry-card__empty{font-size:.9rem;color:var(--text-muted);padding:.25rem 0}.tracker-entry-card__actions{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border-muted);flex-wrap:wrap}.tracker-entry-card__delete-btn{background:var(--danger)!important}.tracker-entry-card__delete-btn:hover{background:var(--danger-hover)!important}.avatar-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1100}.avatar-actions{display:flex;justify-content:center;margin-top:.5rem}.hidden-file-input{display:none}.avatar-cropper{position:relative;width:100%;height:300px}.avatar-zoom-slider{width:100%;margin-top:1rem}.avatar-container{position:relative;cursor:pointer}.avatar-container .user-dropdown{position:absolute;right:0;top:100%;margin-top:.5rem;background:var(--surface-alt);border:1px solid var(--border-muted);border-radius:8px;box-shadow:var(--shadow-sm,0 4px 12px rgba(0,0,0,.08));z-index:9999;display:flex;flex-direction:column;min-width:180px}.avatar-container .user-dropdown .user-dropdown-identity{padding:.75rem 1rem .6rem;border-bottom:1px solid var(--border-muted);display:flex;flex-direction:column;gap:2px;pointer-events:none}.avatar-container .user-dropdown .user-dropdown-identity .user-dropdown-name{font-size:.9rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.avatar-container .user-dropdown .user-dropdown-identity .user-dropdown-email{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.avatar-container .user-dropdown a,.avatar-container .user-dropdown button{padding:.75rem 1rem;background:none;border:none;text-align:left;font-size:.95rem;color:var(--text-main);cursor:pointer}.avatar-container .user-dropdown a:hover,.avatar-container .user-dropdown button:hover{background:var(--surface-bg)}.avatar-container .user-dropdown button{width:100%}.avatar-preview{width:100px;height:100px;border-radius:50%;object-fit:cover;margin:1rem auto}.avatar-preview-container{display:flex;flex-direction:column;align-items:center;padding:.5rem}.avatar-preview-container .avatar-preview{width:100px;height:100px;border-radius:50%;object-fit:cover;margin:1rem auto}.avatar-preview-container .dropdown-item.primary{background-color:var(--accent);color:var(--text-inverted)}.avatar-modal{background:var(--surface-alt);padding:1.5rem;border-radius:1rem;max-width:400px;width:100%;margin:10vh auto;text-align:center;color:var(--text-main);border:1px solid var(--border-muted);box-shadow:var(--shadow-lg,0 4px 12px rgba(0,0,0,.3))}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.modal-actions button{padding:.5rem 1rem;border:none;border-radius:.5rem;cursor:pointer}.modal-actions .primary{background-color:var(--accent);color:var(--text-inverted)}.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:0 1rem;box-sizing:border-box;justify-content:center;max-width:1500px;margin:0 auto}.account-grid .account-section{margin-bottom:0}.account-card{background:var(--surface-alt);border-radius:12px;box-shadow:var(--shadow-sm,0 4px 12px rgba(0,0,0,.06));border:1px solid var(--border-muted);padding:1.5rem;transition:box-shadow .3s ease;width:100%;min-width:0;box-sizing:border-box}.account-card h2{margin-top:0;margin-bottom:1rem;font-size:1.25rem;font-weight:600;color:var(--text-main)}.account-card:hover{box-shadow:var(--shadow-lg,0 6px 20px rgba(0,0,0,.08))}.account-card .account-section,.account-card .account-section.danger{background:rgba(0,0,0,0);border:none;box-shadow:none;padding:0;margin:0;min-height:0}.wide-card{grid-column:span 2}@media(min-width:1000px){.wide-card{grid-column:1/-1}}@media(max-width:767px){.account-grid{grid-template-columns:1fr}.wide-card{grid-column:1}}.account-page{padding-bottom:3rem;margin-top:2rem}.billing-page-wrapper{max-width:680px;margin-left:auto;margin-right:auto}.billing-page-wrapper .billing-panel-section h2{display:none}.billing-card .billing-card-status{font-size:1rem;margin-bottom:.75rem}.billing-card .billing-card-notice{font-size:.88rem;color:var(--color-danger,#d32f2f);margin-bottom:.75rem}.billing-card .billing-card-cta{display:inline-block;margin-top:.5rem;text-decoration:none}.account-section{background:var(--surface-alt);padding:1.5rem;border-radius:12px;border:1px solid var(--border-strong,var(--border-muted));box-shadow:var(--shadow-sm,0 2px 10px rgba(0,0,0,.05));margin-bottom:2rem}.account-section h2{margin-bottom:1rem;font-size:1.5rem;color:var(--text-main)}.account-section p{margin:.5rem 0;font-size:.95rem;color:var(--text-muted)}.account-section .avatar-preview{width:100px;height:100px;border-radius:50%;object-fit:cover;margin-bottom:1rem;box-shadow:0 2px 6px rgba(0,0,0,.1)}.account-section .display-name-row{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.account-section .display-name-row strong{font-weight:600}.account-section .display-name-row span{font-size:1.1rem;color:var(--text-main)}.account-section .display-name-row .icon-button,.account-section .display-name-row button{background:none;border:none;cursor:pointer;font-size:1rem;padding:4px;border-radius:6px;color:var(--text-muted);display:inline-flex;align-items:center;transition:color .15s,background .15s}.account-section .display-name-row .icon-button:hover,.account-section .display-name-row button:hover{color:var(--text-main);background:var(--surface-bg)}.account-section .display-name-edit{width:100%;margin-bottom:.5rem}.account-section .display-name-edit input[type=text]{width:100%;max-width:100%;margin-bottom:.5rem;box-sizing:border-box}.account-section .display-name-edit .display-name-edit-actions{display:flex;gap:.5rem}.account-section .password-input-wrapper,.account-section input[type=password],.account-section input[type=text]{width:100%;max-width:300px;margin-bottom:.5rem}.account-section .password-input-wrapper{position:relative}.account-section .password-input-wrapper input{padding-right:2.75rem}.account-section .password-input-wrapper .toggle-visibility{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-muted)}.account-section .password-input-wrapper .toggle-visibility:hover{color:var(--text-main)}.account-section .button{padding:.5rem 1rem;background-color:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .3s ease}.account-section .button:hover{background-color:var(--accent-hover)}.account-section .button.secondary{margin-left:.5rem;background:rgba(0,0,0,0);color:var(--text-main)}.account-section .button.secondary:hover{background:var(--surface-bg)}.callout{border:1px solid var(--border-muted);background:rgba(var(--accent-rgb,27 88 102),.06);border-radius:12px;padding:.85rem 1rem;box-shadow:none}.account-section.danger{display:flex;flex-direction:column;justify-content:center;background:var(--surface-alt);border-radius:12px;box-shadow:var(--shadow-sm,0 4px 12px rgba(0,0,0,.06));border:1px solid var(--border-muted);padding:1.5rem;min-height:250px;transition:box-shadow .3s ease}.account-section.danger h2{margin-top:0;margin-bottom:1rem;font-size:1.25rem;font-weight:600;color:var(--text-main)}.account-section.danger .button.warning{background-color:#ffc107;color:#000}.account-section.danger .button.warning:hover{background-color:rgb(236.5,177.375,0)}.account-section.danger .button-red{background-color:#d9534f}.account-section.danger .button-red:hover{background-color:rgb(209.7551401869,50.2074766355,45.4448598131)}.editing-row{background-color:var(--accent-light)}.editing-row input,.editing-row select{min-width:140px;padding:6px 8px;font-size:14px;border-radius:4px;border:1px solid var(--border-muted);background-color:var(--surface-alt);color:var(--text-main)}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:1rem}.analytics-card{background:var(--surface-alt);border-radius:12px;padding:1rem 1.5rem;box-shadow:var(--shadow-default);overflow:visible;display:flex;flex-direction:column;justify-content:flex-start}.analytics-card h3{margin-bottom:1rem;font-size:1.1rem}.analytics-card ul{list-style:none;padding-left:0;margin:0}.analytics-card li{font-size:.95rem;margin-bottom:.5rem}.pie-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem;padding:0}.pie-chart{height:auto;min-height:300px;padding-bottom:1rem}.pie-chart,.pie-chart svg{overflow:visible}.pie-chart-card{display:flex;flex-direction:column;min-width:0;padding:0;background:var(--surface-alt);border-radius:16px;box-shadow:var(--shadow-default);border:1px solid var(--border-muted);overflow:hidden}.pie-chart-card__title{margin:0;padding:1rem 1.5rem;font-size:1.1rem;font-weight:600;border-bottom:1px solid var(--border-muted);background-color:var(--surface-alt);color:var(--text-main)}.pie-chart-card__nodata{font-size:.9rem;color:var(--text-muted);padding:1rem 1.5rem}.pie-chart-card__chart{flex:1 1 auto;min-height:280px;padding:.75rem 1rem;overflow:hidden}.pie-chart-card__legend{flex-shrink:0;padding:1rem 1.5rem;background-color:var(--surface-alt);border-top:1px solid var(--border-muted);font-size:13px;max-height:180px;overflow-y:auto}.pie-chart-card__legendList{margin:0;padding:0;list-style:none}.pie-chart-card__legendItem{margin-bottom:.5rem;display:flex;align-items:center}.pie-chart-card__swatch{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;flex-shrink:0}.pie-chart-card__legendText{color:var(--text-main);font-size:13px}.pie-tooltip{background:var(--surface-alt);border:1px solid var(--border-muted);color:var(--text-main);padding:8px;border-radius:4px;font-size:12px}.recharts-default-legend{max-width:100%;white-space:normal;word-wrap:break-word}.recharts-wrapper text{fill:var(--text-main)}.recharts-cartesian-axis-tick-value{fill:var(--text-muted)}.recharts-legend-item-text{color:var(--text-main)!important}.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--surface-alt)!important;border:1px solid var(--border-muted)!important;color:var(--text-main)!important}.combo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.collapsible-section{margin-bottom:2rem;border:1px solid var(--border-muted);border-radius:8px;background:var(--surface-alt);overflow:hidden}.collapsible-header{width:100%;padding:1rem;background:var(--surface-bg);font-weight:700;font-size:1rem;text-align:left;color:var(--text-main);border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.collapsible-header.open{border-radius:8px 8px 0 0;border-bottom:1px solid var(--border-muted)}.collapsible-header:hover{background:var(--accent-light)}.collapsible-content{padding:1.5rem;background:var(--surface-alt);color:var(--text-main);border-top:none}.date-range-selector{margin-bottom:1.5rem}.date-range-selector select{padding:.4rem .6rem;margin-left:.5rem}.date-range-selector .custom-date-range{margin-top:.5rem}.date-range-selector .custom-date-range input[type=date]{margin-right:1rem;padding:.4rem}.heatmap-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.heatmap-toggle button{padding:6px 12px;border:1px solid var(--border-muted);border-radius:9999px;background:var(--surface-bg);color:var(--text-muted);cursor:pointer;transition:all .2s ease;font-size:.9rem;font-family:inherit}.heatmap-toggle button:hover:not(.active){background:var(--accent-light);color:var(--text-main);border-color:var(--border-muted)}.heatmap-toggle button.active{background:var(--accent);color:var(--text-inverted);border-color:var(--accent)}.analytics-card:hover{box-shadow:0 12px 32px rgba(0,0,0,.08);transition:box-shadow .2s ease}.lost-wrapper{text-align:center;padding:6rem 2rem;font-family:Segoe UI,sans-serif}h1{font-size:2.5rem;margin-bottom:1rem}p{margin-bottom:2.5rem;font-size:1.2rem;color:var(--text-muted)}.nav-buttons{display:flex;flex-direction:column;align-items:center;gap:1rem}button{padding:.75rem 1.5rem;font-size:1rem;border:none;border-radius:6px;background-color:var(--accent);color:var(--text-inverted);cursor:pointer;transition:background .2s ease}.nav-buttons button:hover{background-color:var(--accent-hover);color:var(--text-inverted)}.easter-egg{margin-top:3rem;color:#999;font-size:.85rem}.alert-modal-overlay{background:rgba(0,0,0,.4);backdrop-filter:blur(4px);position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:999;transition:opacity .2s ease}.alert-modal-content{background:var(--surface-alt);border-radius:16px;padding:24px;width:100%;max-width:400px;box-shadow:0 12px 24px rgba(0,0,0,.1);animation:zoomIn .2s ease;font-family:var(--font-body);color:var(--text-main)}.legal-modal-overlay{background:rgba(0,0,0,.4);backdrop-filter:blur(4px);position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1100;transition:opacity .2s ease}.legal-modal-content{background:var(--surface-alt);border-radius:16px;padding:24px;width:100%;max-width:520px;box-shadow:0 12px 24px rgba(0,0,0,.1);animation:zoomIn .2s ease;font-family:var(--font-body);color:var(--text-main)}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-main)}.modal-body{margin-top:1rem;font-size:.95rem;line-height:1.4}.modal-prewrap{white-space:pre-wrap}.modal-footer{text-align:right;margin-top:1.5rem}.confirm-modal-footer{display:flex;justify-content:flex-end;gap:.75rem}.confirm-modal-footer .button.secondary{margin-left:0}.modal-footer.legal-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;text-align:unset}.legal-checklist{margin-top:.75rem}.legal-checklist-row{margin-top:.5rem}.modal-footer button{padding:.5rem 1rem;background:var(--accent);color:var(--text-inverted);font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.modal-footer button:hover{background:var(--accent-hover)}@keyframes zoomIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.dashboard-container{padding:2rem;max-width:1000px;margin:0 auto}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-card{background:var(--surface-alt);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm,0 2px 8px rgba(0,0,0,.05));border:1px solid var(--border-muted);color:var(--text-main)}.dashboard-heading{font-size:1.75rem;margin-bottom:.25rem}.dashboard-subheading{color:var(--text-muted);font-size:1rem}.dashboard-button{margin-top:1rem;background:var(--accent);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s ease}.dashboard-button:hover{background:var(--accent-hover)}.bulk-actions-bar{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.bulk-actions-bar span{font-weight:700;color:var(--text-main)}.spacer{height:1rem}.reflection-page{min-height:100vh;padding:3rem 1rem;display:flex;justify-content:center}.reflection-container{max-width:64rem;width:100%;margin:0 auto}.journal-header{font-size:1.875rem;font-weight:700;margin-bottom:.5rem;color:var(--text-main);font-family:var(--font-heading);text-align:center}.journal-subheader{text-align:center;color:var(--text-muted);font-size:.95rem;margin-bottom:2.5rem}.entry-form{background-color:var(--surface-alt);padding:2rem;border-radius:.75rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-muted);text-align:left;max-width:700px;margin:0 auto 2rem;width:100%}.entry-form-title{font-size:1.05rem;font-weight:600}.entry-form-title,.entry-prompt-banner{color:var(--text-main);margin-bottom:1rem}.entry-prompt-banner{display:flex;align-items:flex-start;gap:.6rem;background:var(--accent-light,rgba(76,175,171,.08));border-left:3px solid var(--accent,#4cafab);border-radius:0 .4rem .4rem 0;padding:.75rem 1rem;font-size:.92rem;line-height:1.5}.entry-prompt-banner-label{font-weight:600;color:var(--accent,#4cafab);white-space:nowrap;flex-shrink:0}.entry-textarea{width:100%;padding:1rem 1.25rem;border:1px solid var(--border-muted);border-radius:.5rem;background-color:var(--surface-alt);font-family:var(--font-body);font-size:1rem;line-height:1.8;color:var(--text-main);resize:vertical;margin-bottom:.75rem;transition:border-color .2s ease,box-shadow .2s ease;min-height:160px}.entry-textarea:focus{outline:none;border-color:var(--accent,#4cafab);box-shadow:0 0 0 3px var(--ring,rgba(76,175,171,.15))}.entry-textarea::placeholder{color:var(--text-muted);opacity:.75}.entry-char-count{font-size:.75rem;color:var(--text-muted);text-align:right;margin-bottom:1rem}.entry-button{align-self:flex-end}.entry-button-center{display:flex;justify-content:flex-end}.journal-insights{max-width:700px;margin:0 auto 2rem;background-color:var(--surface-alt);border:1px solid var(--border-muted);border-radius:.75rem;padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm)}.journal-insights-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.85rem}.journal-insights-chips{display:flex;flex-wrap:wrap;gap:.5rem}.insight-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:999px;background:var(--accent-light,rgba(76,175,171,.1));border:1px solid var(--accent,#4cafab);color:var(--accent,#4cafab);font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease;user-select:none}.insight-chip.active,.insight-chip:hover{background:var(--accent,#4cafab);color:#fff}.insight-chip-count{font-size:.7rem;opacity:.75}.date-group{max-width:700px;margin:0 auto 1.5rem}.date-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:.75rem 1rem;border-radius:.5rem;cursor:pointer;background-color:var(--surface-alt);border:1px solid var(--border-muted);color:var(--text-main);font-family:var(--font-body);font-size:.95rem;font-weight:600;text-align:left;transition:background .15s ease}.date-group-toggle:hover{background-color:var(--accent-light,rgba(76,175,171,.06))}.date-group-toggle-meta{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.85rem;font-weight:400;flex-shrink:0}.date-group-chevron{transition:transform .2s ease;color:var(--text-muted)}.date-group-chevron.open{transform:rotate(180deg)}.date-header{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.entry-list{display:flex;flex-direction:column;gap:1rem;padding:.75rem 0 0}.entry-prompt{border-left:3px solid var(--accent,#4cafab);padding:.6rem .85rem;margin-bottom:.85rem;font-size:.88rem;font-weight:500;color:var(--text-muted);white-space:pre-wrap;background:var(--accent-light,rgba(76,175,171,.06));border-radius:0 .35rem .35rem 0}.entry-card,.entry-prompt{font-family:var(--font-body)}.entry-card{background-color:var(--surface-alt);border:1px solid var(--border-muted);border-radius:.6rem;padding:1.25rem 1.5rem;width:100%;box-shadow:var(--shadow-sm);font-size:.975rem;line-height:1.75;color:var(--text-main);word-break:break-word;overflow-wrap:break-word;transition:box-shadow .15s ease,border-color .15s ease;text-align:left}.entry-card:hover{box-shadow:var(--shadow-md,0 4px 12px rgba(0,0,0,.08))}.entry-card.highlighted{border-color:var(--accent,#4cafab);box-shadow:0 0 0 2px var(--ring,rgba(76,175,171,.2))}.entry-body{white-space:pre-wrap}.entry-expand-btn{background:none;border:none;color:var(--accent,#4cafab);font-size:.82rem;font-weight:600;cursor:pointer;padding:0;margin-top:.25rem}.entry-expand-btn:hover{text-decoration:underline}.entry-edit{width:100%;background-color:var(--surface-alt);border:1px solid var(--border-muted);padding:.75rem 1rem;border-radius:.5rem;font-family:var(--font-body);font-size:.975rem;line-height:1.75;color:var(--text-main);word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap;margin-top:.5rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.entry-edit:focus{outline:none;border-color:var(--accent,#4cafab);box-shadow:0 0 0 3px var(--ring,rgba(76,175,171,.15))}.button-group{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.spacer{height:2rem}.footer{position:fixed;bottom:0;left:0;right:0;min-height:60px;height:auto;background-color:var(--surface-alt);color:var(--text-main);font-size:.9rem;padding:.75rem 1.5rem;border-top:1px solid var(--border-muted);display:flex;align-items:center;z-index:100;box-shadow:var(--shadow-sm)}.footer-content{display:flex;justify-content:space-between;align-items:center;width:100%;flex-wrap:wrap;gap:.5rem}.footer-center,.footer-left,.footer-right{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:center}.footer-right a{text-decoration:underline;text-underline-offset:2px}@media(max-width:767px){.footer-left{order:1;flex:1;justify-content:flex-start}.footer-right{order:2;flex:0 0 auto;justify-content:flex-end}.footer-center{order:3;flex:0 0 100%;justify-content:center;font-size:.8rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}a{color:var(--text-main,#222);transition:color .12s ease}a:hover{color:var(--accent,#4cafab)}.version{font-weight:700;text-decoration:none;color:var(--text-muted)}.version:hover{text-decoration:underline;text-underline-offset:2px;color:var(--text-main)}.main-content{padding-bottom:120px}.kms-panel{width:100%;max-width:560px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:hsla(0,0%,100%,.65);backdrop-filter:blur(6px);padding:1rem;box-shadow:var(--shadow-default)}.kms-panel-title{margin:0 0 .5rem;font-size:1.1rem;font-weight:700;color:var(--text-main)}.kms-panel-line{margin:0;font-size:.95rem;color:var(--text-main)}.kms-panel-details,.kms-panel-meta{margin-top:.5rem;font-size:.85rem;color:var(--text-main);line-height:1.4}.kms-panel-label{font-weight:700;color:var(--text-muted)}.kms-panel-actions,.kms-panel-meta-top{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.kms-panel-meta-top{align-items:center;justify-content:space-between}.kms-panel-unwrap-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.kms-panel-input{width:160px;max-width:160px;padding:.4rem .6rem;margin-bottom:0;border-radius:10px;border:1px solid rgba(0,0,0,.2);background:hsla(0,0%,100%,.85);color:var(--text-main);font-size:.9rem}.kms-panel-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(76,175,171,.2)}.kms-panel-input:disabled{opacity:.6;cursor:not-allowed}.kms-panel-button{margin-bottom:0}.kms-panel-hint{margin-top:.75rem;padding:.75rem;border-radius:12px;background:rgba(255,244,216,.85);border:1px solid rgba(255,214,120,.75);font-size:.85rem;color:var(--text-main)}.kms-panel-console{margin-top:.75rem;background:#111;color:lime;padding:.75rem;border-radius:12px;overflow-x:auto;font-size:.8rem;line-height:1.35;white-space:pre-wrap}.data-guide{margin-bottom:.5rem}.data-guide-list{padding-left:1.25rem;line-height:1.6}.data-guide-spacer{list-style:none;margin:.75rem 0;padding:0}.data-privacy-actions{display:flex;flex-wrap:wrap;gap:1rem}.data-privacy-action{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:1 1 220px;text-align:center;position:relative;margin-bottom:0}.data-privacy-file-input{position:absolute;inset:0;opacity:0;cursor:pointer}:root{--eco-soil-dark:#2d1a0a;--eco-soil-mid:#4a2f18;--eco-soil-light:#7a5035;--eco-moss-live:#2d5a1e;--eco-leaf-live:#4a7c3f;--eco-glass-tint:rgba(180,220,210,0.20);--eco-glass-reflex:rgba(255,255,255,0.30);--eco-bloom-warm:rgba(210,155,90,0.20);--eco-air:rgba(200,230,220,0.05);--eco-flower-coral:#d4726a;--eco-flower-yellow:#d4b84a;--eco-flower-pink:#e8a0b8;--eco-flower-cream:#f0e8d4;--eco-vine:#4a6a30;--eco-succulent-warm:#c47a50;--eco-succulent-cool:#5a8878}.garden-card{cursor:default}.garden-card__header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.garden-card__controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.garden-style-toggle{display:flex;border:1px solid var(--border-muted);border-radius:8px;overflow:hidden}.garden-style-toggle__option{padding:5px 13px;font-size:.82rem;font-weight:500;font-family:var(--font-body);background:rgba(0,0,0,0);border:none;color:var(--text-muted);cursor:pointer;transition:background .14s ease,color .14s ease;white-space:nowrap}.garden-style-toggle__option:first-child{border-right:1px solid var(--border-muted)}.garden-style-toggle__option:hover:not(.garden-style-toggle__option--active){background:rgba(0,0,0,.04);color:var(--text-main)}.garden-style-toggle__option--active{background:var(--accent);color:var(--text-inverted)}.garden-card__body{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:10px}.garden-visual{--eco-depth:0;--eco-bloom:0;--eco-vitality:0;flex:0 0 auto;position:relative}.garden-card__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 14px;flex:1 1 320px;min-width:260px}.garden-stat__label{font-size:.85rem;color:var(--text-muted)}.garden-stat__value{font-size:1rem;color:var(--text-main);font-weight:600}.garden-stat--hint .garden-stat__value{font-weight:500}.globe-visual{width:200px;height:200px;border-radius:50%;position:relative;overflow:hidden;background:radial-gradient(ellipse 85% 85% at 50% 115%,var(--eco-soil-dark) 0,var(--eco-soil-mid) 28%,var(--eco-air) 55%,transparent 75%);border:1.5px solid var(--eco-glass-tint);box-shadow:inset 0 0 50px rgba(0,0,0,.35),inset -10px -10px 25px rgba(0,0,0,.18),0 10px 40px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08)}.globe-visual:before{top:4%;left:6%;width:38%;height:42%;background:radial-gradient(ellipse at top left,var(--eco-glass-reflex),transparent 65%)}.globe-visual:after,.globe-visual:before{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:10}.globe-visual:after{top:10%;left:14%;width:18%;height:18%;background:radial-gradient(ellipse,rgba(255,255,255,.18),transparent 70%)}.globe-soil{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,var(--eco-soil-dark) 0,var(--eco-soil-mid) 50%,var(--eco-soil-light) 90%,transparent 100%);transition:height 1.2s ease}.globe-moss{position:absolute;left:-5%;right:-5%;height:5%;background:var(--eco-moss-live);clip-path:polygon(0 60%,8% 30%,16% 55%,24% 20%,32% 45%,40% 15%,48% 40%,56% 18%,64% 42%,72% 22%,80% 48%,88% 28%,96% 52%,100% 35%,100% 100%,0 100%);transition:opacity 1.2s ease,bottom 1.2s ease}.globe-bloom-glow{position:absolute;left:15%;right:15%;height:32%;background:radial-gradient(ellipse 65% 45% at 50% 100%,var(--eco-bloom-warm),transparent 70%);pointer-events:none;transition:opacity 1s ease,bottom 1.2s ease}.globe-plants{position:absolute;inset:0;width:100%;height:100%;z-index:4}.globe-condensation{position:absolute;inset:0;pointer-events:none;z-index:5;transition:opacity 1s ease}.globe-drip{position:absolute;background:hsla(0,0%,100%,.22);border-radius:50% 50% 50% 50%/40% 40% 60% 60%;animation:ecoDripPulse 3.5s ease-in-out infinite alternate}.globe-atmosphere{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 50%,transparent 55%,rgba(0,0,0,.18) 100%);pointer-events:none;z-index:6}@keyframes ecoDripPulse{0%{opacity:.55}to{opacity:1}}.tank-visual{width:280px;height:180px;position:relative;border:1.5px solid var(--eco-glass-tint);border-top:none;border-radius:0 0 4px 4px;overflow:hidden;background:linear-gradient(to bottom,var(--eco-air) 0,transparent 48%,var(--eco-soil-light) 82%,var(--eco-soil-dark) 100%);box-shadow:inset 3px 0 10px rgba(0,0,0,.08),inset -3px 0 10px rgba(0,0,0,.08),inset 0 -3px 10px rgba(0,0,0,.12),0 6px 24px rgba(0,0,0,.1)}.tank-visual:before{content:"";position:absolute;top:-5px;left:-3px;right:-3px;height:5px;background:linear-gradient(to bottom,var(--eco-glass-tint),transparent);border-radius:2px 2px 0 0}.tank-visual:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--eco-glass-reflex);opacity:.35}.tank-back-glass{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.1));pointer-events:none}.tank-soil{position:absolute;bottom:0;left:0;right:0;height:28%;background:linear-gradient(to top,var(--eco-soil-dark),var(--eco-soil-mid) 50%,var(--eco-soil-light) 100%)}.tank-light{background:radial-gradient(ellipse 45% 70% at 52% -5%,var(--eco-bloom-warm),transparent 65%);pointer-events:none;animation:ecoLightBreathe 4s ease-in-out infinite alternate}.tank-light,.tank-plants{position:absolute;inset:0}.tank-plants{z-index:3}.tank-glass-sides{position:absolute;inset:0;pointer-events:none;z-index:5}.tank-glass-sides:before{left:0;background:linear-gradient(90deg,rgba(255,255,255,.06),transparent)}.tank-glass-sides:after,.tank-glass-sides:before{content:"";position:absolute;top:0;bottom:0;width:6px}.tank-glass-sides:after{right:0;background:linear-gradient(270deg,rgba(255,255,255,.06),transparent)}@keyframes ecoLightBreathe{0%{opacity:.78}to{opacity:1}}@media(prefers-reduced-motion:reduce){.globe-bloom-glow,.globe-drip,.tank-light{animation:none}.globe-moss,.globe-plants *,.globe-soil,.tank-plants *{transition:none}}.trial-banner{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;font-size:.875rem;background:rgb(var(--accent-rgb)/.1);border-bottom:1px solid rgb(var(--accent-rgb)/.2);color:var(--text-main);flex-wrap:wrap}.trial-banner--ending_soon{background:rgba(255,152,0,.12);border-bottom-color:rgba(255,152,0,.3)}.trial-banner--final_day{background:rgba(var(--danger,#f44336),.1);border-bottom-color:rgba(var(--danger,#f44336),.25)}.trial-banner__message{flex:1;min-width:0}.trial-banner__cta{font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap;padding:.25rem .75rem;border:1px solid var(--accent);border-radius:6px;transition:background .15s,color .15s}.trial-banner__cta:hover{background:var(--accent);color:var(--text-inverted)}.trial-banner__dismiss{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.75rem;padding:.25rem .4rem;line-height:1;border-radius:4px;transition:color .15s,background .15s}.trial-banner__dismiss:hover{color:var(--text-main);background:rgb(var(--accent-rgb)/.1)}.idle-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1100}.idle-modal{background:var(--surface-alt);border-radius:14px;padding:24px 28px;max-width:420px;width:90%;box-shadow:var(--shadow-lg,0 12px 40px rgba(0,0,0,.12));border:1px solid var(--border-muted)}.idle-modal-title{margin:0 0 10px;font-size:1.05rem;font-weight:700;color:var(--text-main)}.idle-modal-text{margin:0 0 18px;font-size:.9rem;color:var(--text-muted);line-height:1.5}.idle-modal-actions{display:flex;justify-content:flex-end}.brand-attribution{display:flex;align-items:center;gap:.75rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--border-muted);color:var(--text-muted);font-size:.85rem}.brand-attribution .brand-attribution-logo{width:40px;height:40px;object-fit:contain;opacity:.8;flex-shrink:0}.brand-attribution--large{margin-top:3rem;padding-top:1.5rem;gap:1.25rem;align-items:flex-start}.brand-attribution--large .brand-attribution-logo{width:112px;height:112px;opacity:.9;margin-top:2px}.brand-attribution--large .brand-attribution-text{display:flex;flex-direction:column;gap:.25rem}.brand-attribution--large .brand-attribution-name{font-size:1.15rem;font-weight:600;color:var(--text-main)}.brand-attribution--large .brand-attribution-sub{font-size:.95rem;color:var(--text-muted)}.help-form{gap:1.25rem;max-width:560px}.help-form,.help-form .form-group{display:flex;flex-direction:column}.help-form .form-group{gap:.4rem}.help-form .form-label{font-size:.9rem;font-weight:500;color:var(--text-main)}.help-form .form-label-optional{font-weight:400;color:var(--text-muted);font-size:.82rem}.help-form .form-input,.help-form .form-select,.help-form .form-textarea{width:100%;padding:.55rem .75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--surface-alt);color:var(--text-main);font-size:.9rem;font-family:var(--font-body);transition:border-color .15s;box-shadow:0 1px 3px rgba(0,0,0,.06)}.help-form .form-input:focus,.help-form .form-select:focus,.help-form .form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(91,127,166,.15)}.help-form .form-input:disabled,.help-form .form-select:disabled,.help-form .form-textarea:disabled{opacity:.6;cursor:not-allowed}.help-form .form-textarea{resize:vertical;min-height:130px;line-height:1.5}.help-form .char-count{font-size:.78rem;color:var(--text-muted);text-align:right}.help-form .form-error-msg{color:var(--color-danger,#d32f2f);font-size:.87rem;margin:0}.form-success-banner{padding:1rem 1.25rem;background:var(--color-success-bg,#e8f5e9);border:1px solid var(--color-success-border,#a5d6a7);border-radius:8px;color:var(--color-success-text,#2e7d32);font-size:.9rem;max-width:560px}.form-success-banner .link{display:inline-block}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1.25rem;margin-bottom:1.25rem}@media(max-width:820px){.admin-grid{grid-template-columns:1fr}}.admin-section-group{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:1.75rem 0 .6rem;padding-bottom:.35rem;border-bottom:1px solid var(--border-muted)}.admin-card--danger{border-color:var(--danger)!important;background-color:rgba(244,67,54,.04)}.admin-card--danger h2{color:var(--danger)}.dev-seed-panel{border:1px dashed var(--border-muted);border-radius:var(--radius-medium,12px);padding:10px 14px;background:rgba(0,0,0,.018);font-size:.85rem}.dev-seed-panel__header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.dev-seed-panel__badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.08em;padding:1px 6px;border-radius:4px;background:var(--danger);color:#fff;line-height:1.6}.dev-seed-panel__title{font-weight:600;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.dev-seed-panel__controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dev-seed-panel__label{color:var(--text-muted);font-size:.82rem}.dev-seed-panel__input{width:52px;padding:4px 6px;border:1px solid var(--border-muted);border-radius:6px;font-size:.85rem;background:var(--surface-alt);color:var(--text-main);text-align:center}.dev-seed-panel__btn{font-size:.82rem!important;padding:5px 10px!important}.dev-seed-panel__clear{font-size:.78rem;color:var(--danger);background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:4px;text-decoration:underline;text-underline-offset:2px}.dev-seed-panel__clear:hover{background:rgba(244,67,54,.06)}.dev-seed-panel__clear:disabled{opacity:.45;cursor:not-allowed}.dev-seed-panel__status{margin:6px 0 0;font-size:.8rem;line-height:1.4;word-break:break-word}.changelog-list{display:flex;flex-direction:column;gap:2rem;margin-bottom:2.5rem}.changelog-entry{background:var(--surface-alt);border:1px solid var(--border-muted);border-radius:10px;overflow:hidden}.changelog-entry__toggle{width:100%;display:flex;flex-direction:column;gap:.25rem;padding:1.25rem 1.5rem;background:none;border:none;text-align:left;cursor:pointer}.changelog-entry__toggle:hover{background:rgba(0,0,0,.025)}.changelog-entry__header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.changelog-entry__version{font-weight:700;font-size:.9rem;color:var(--accent);background:var(--surface-bg);padding:.2rem .6rem;border-radius:5px;border:1px solid var(--border-muted);font-family:monospace}.changelog-entry__date{font-size:.85rem;color:var(--text-muted)}.changelog-entry__title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.changelog-entry__title{font-size:1.05rem;font-weight:600;margin:0;color:var(--text-main)}.changelog-entry__chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s ease}.changelog-entry--open .changelog-entry__chevron{transform:rotate(180deg)}.changelog-entry__changes{margin:0;padding:0 1.5rem 1.25rem 2.75rem;color:var(--text-main);font-size:.92rem;line-height:1.65}.changelog-entry__changes li{margin-bottom:.25rem}.release-banner{position:absolute;bottom:calc(100% + 10px);left:0;width:max-content;max-width:300px;display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background:var(--surface-bg);border:1px solid var(--border-muted);border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06);font-size:.78rem;color:var(--text-main);animation:fadeIn .2s ease;white-space:nowrap}.release-banner__link{font-weight:600;color:var(--accent);text-decoration:none}.release-banner__link:hover{text-decoration:underline;text-underline-offset:2px}.release-banner__dismiss{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.72rem;padding:.15rem .3rem;line-height:1;border-radius:3px;transition:color .15s,background .15s;margin-left:.25rem}.release-banner__dismiss:hover{color:var(--text-main);background:var(--surface-alt)}.notif-bell,.notif-bell-btn{position:relative;display:flex;align-items:center}.notif-bell-btn{background:none;border:none;cursor:pointer;padding:4px 6px;color:var(--text-main);border-radius:6px;transition:background .15s}.notif-bell-btn:hover{background:var(--surface-alt)}.notif-badge{top:0;background:#e53e3e;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:999px;align-items:center;justify-content:center;padding:0 3px;line-height:1;pointer-events:none}.notif-badge,.notif-dropdown{position:absolute;right:0;display:flex}.notif-dropdown{top:calc(100% + 8px);width:320px;max-height:400px;background:var(--surface-bg);border:1px solid var(--border-muted);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:500;flex-direction:column;overflow:hidden}.notif-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px;border-bottom:1px solid var(--border-muted);flex-shrink:0}.notif-mark-all{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:3px;font-size:12px;color:var(--accent);padding:2px 4px;border-radius:4px;transition:background .15s}.notif-mark-all:hover{background:var(--surface-alt)}.notif-empty{padding:24px 14px;text-align:center;color:var(--text-muted);font-size:13px}.notif-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--border-muted)}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-alt)}.notif-item--unread{border-left:3px solid var(--accent);padding-left:11px}.notif-type-icon{flex-shrink:0;color:var(--text-muted);margin-top:2px;display:flex;align-items:center}.notif-body{flex:1;min-width:0}.notif-title{font-size:13px;font-weight:600;color:var(--text-main);line-height:1.3}.notif-message{font-size:12px;color:var(--text-muted);margin-top:2px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item--expanded .notif-message{white-space:normal;overflow:visible;text-overflow:unset}.notif-time{font-size:11px;color:var(--text-muted);margin-top:3px}.practice-accordion-item{border:1px solid var(--border-muted);border-radius:8px;overflow:hidden;margin-bottom:6px;background:var(--surface-alt)}.practice-accordion-item__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1rem;background:none;border:none;text-align:left;cursor:pointer;transition:background .12s ease}.practice-accordion-item__toggle:hover{background:rgba(0,0,0,.03)}.practice-accordion-item__summary{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;flex:1;min-width:0}.practice-accordion-item__title{font-weight:600;font-size:.9rem;color:var(--text-main)}.practice-accordion-item__meta{font-size:.82rem;color:var(--text-muted)}.practice-accordion-item__chevron{color:var(--text-muted);flex-shrink:0;transition:transform .18s ease}.practice-accordion-item--open .practice-accordion-item__chevron{transform:rotate(180deg)}.practice-accordion-item__details{padding:.6rem 1rem .85rem;border-top:1px solid var(--border-muted);font-size:.88rem}.practice-accordion-section{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem .75rem;margin-top:12px;background:var(--surface-bg);border:1px solid var(--border-muted);border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text-muted);transition:background .12s ease}.practice-accordion-section:hover{background:rgba(0,0,0,.04)}.practice-accordion-section__chevron{color:var(--text-muted);flex-shrink:0;transition:transform .18s ease}.practice-accordion-section--open .practice-accordion-section__chevron{transform:rotate(180deg)}.license-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.license-status-dot--issued{background:var(--accent,#5b8dd9)}.license-status-dot--redeemed{background:var(--color-success,#38a169)}.license-status-dot--revoked{background:var(--text-muted,#aaa)}.text-link{background:none;border:none;padding:0;cursor:pointer;color:var(--accent);font-size:inherit;text-decoration:underline;text-underline-offset:2px}.text-link:hover{opacity:.75}.consent-modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:1rem}.consent-modal{background:var(--surface-bg,#fff);border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,.22);width:100%;max-width:660px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.consent-modal__header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--border-muted,#e0e0e0);flex-shrink:0}.consent-modal__title{font-size:1.1rem;font-weight:600;margin:0 0 .2rem;color:var(--text-main,#1a1a1a)}.consent-modal__subtitle{font-size:.8rem;margin:0}.consent-modal__close{background:none;border:none;cursor:pointer;color:var(--text-muted,#888);padding:.25rem;flex-shrink:0}.consent-modal__close:hover{color:var(--text-main,#1a1a1a)}.consent-modal__steps{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--surface-alt,#f5f5f5);border-bottom:1px solid var(--border-muted,#e0e0e0);flex-shrink:0;font-size:.82rem;color:var(--text-muted,#888)}.consent-modal__step{font-weight:500}.consent-modal__step--active{color:var(--accent,#5b8dd9);font-weight:700}.consent-modal__step-divider{width:24px;height:1px;background:var(--border-muted,#ccc)}.consent-modal__document{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;scroll-behavior:smooth}.consent-modal__section{margin-bottom:1.25rem}.consent-modal__section:last-child{margin-bottom:0}.consent-modal__section-heading{font-size:.88rem;font-weight:700;margin:0 0 .35rem;color:var(--text-main,#1a1a1a)}.consent-modal__section-body{font-size:.84rem;line-height:1.65;color:var(--text-main,#333);margin:0}.consent-modal__scroll-hint{text-align:center;font-size:.78rem;padding:.35rem 1.5rem;flex-shrink:0}.consent-modal__tabs{display:flex;gap:.5rem;padding:1rem 1.5rem 0;flex-shrink:0}.consent-modal__tab{display:flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--border-muted,#ccc);border-radius:6px;padding:.4rem .9rem;font-size:.83rem;cursor:pointer;color:var(--text-muted,#666);transition:background .15s,color .15s,border-color .15s}.consent-modal__tab:hover{background:var(--surface-alt,#f5f5f5);color:var(--text-main,#1a1a1a)}.consent-modal__tab--active{border-color:var(--accent,#5b8dd9)}.consent-modal__tab--active,.consent-modal__tab--active:hover{background:var(--accent,#5b8dd9);color:#fff}.consent-modal__sig-wrap{padding:1rem 1.5rem;flex-shrink:0}.consent-modal__canvas-border{border:1.5px solid var(--border-muted,#ccc);border-radius:6px;overflow:hidden;background:#fff;display:inline-block;max-width:100%}.consent-modal__canvas{display:block;max-width:100%;touch-action:none}.consent-modal__upload-wrap{padding:1rem 1.5rem;flex-shrink:0}.consent-modal__upload-label{display:inline-block;cursor:pointer}.consent-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-muted,#e0e0e0);flex-shrink:0;margin-top:auto}.consent-pending-badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:10px;font-size:.72rem;font-weight:600;letter-spacing:.02em;background:var(--color-warning-bg,#fff8e1);color:var(--color-warning-text,#7a5c00);border:1px solid var(--color-warning-border,#ffe082);vertical-align:middle;white-space:nowrap}.sharing-status{font-size:.875rem}.sharing-status--granted{color:var(--color-success,#38a169)}.sharing-status--consent_outdated,.sharing-status--pending_review{color:var(--color-warning-text,#7a5c00)}.sharing-status--rejected,.sharing-status--revoked{color:var(--color-danger,#d32f2f)}.app-shell{min-height:100vh;background:radial-gradient(ellipse 80% 65% at 0 0,rgba(var(--header-rgb,170 225 224),.55),transparent 62%);color:var(--text-main,#222)}.page-wrapper{width:100%;max-width:960px;margin:0 auto;padding:clamp(1rem,2.5vw,2rem);box-sizing:border-box;border-radius:0}.page-wrapper--wide{max-width:1200px}.auth-page{display:flex;min-height:100vh;background:linear-gradient(148deg,#f6f8fa 0,#e4eaf1 55%,var(--surface-bg,#dde4ec) 100%);gap:0}.auth-left{padding:clamp(1.75rem,4vw,3rem);background-color:var(--surface-header);align-items:flex-start;border-right:1px solid var(--border-muted,#dfe5ea)}.auth-left,.auth-right{flex:1;display:flex;flex-direction:column;justify-content:center}.auth-right{padding:clamp(2rem,4vw,3.25rem);background-color:var(--surface-alt);box-shadow:0 10px 28px rgba(0,0,0,.08)}section{flex:1;display:flex;flex-direction:column;gap:var(--space-4,1rem)}@media(max-width:768px){.auth-page{flex-direction:column;gap:0}.auth-left,.auth-right{padding:clamp(1.25rem,5vw,2rem)}.page-wrapper{padding:clamp(.9rem,4vw,1.25rem)}.dashboard-card{padding:1rem}.table-scroll-container,.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.avatar-modal-overlay,.modal-overlay{width:100%;padding:1rem;box-sizing:border-box}.page-wrapper>*{max-width:100%;box-sizing:border-box}.metric-row,.stats-row{flex-wrap:wrap;gap:.75rem}.collapsible-header{width:100%;padding:.85rem 1rem;min-height:44px}}.main-header{flex-wrap:wrap;justify-content:space-between;padding:0 2rem;min-height:80px;width:100%;box-sizing:border-box;position:sticky;top:0;z-index:100;overflow:visible;background-color:var(--surface-header);color:var(--text-main);border-bottom:1px solid var(--border-muted)}.header-left,.main-header{display:flex;align-items:center}.header-left{flex:1 1 auto;min-width:0;flex-wrap:wrap}.logo{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:inherit;padding:.25rem .35rem;border-radius:var(--radius-medium);min-width:0;max-width:240px}.logo-mark{width:44px;height:44px;flex:0 0 auto;display:block;object-fit:contain}.logo-wordmark{display:flex;flex-direction:column;line-height:1.05;min-width:0}.logo-name{font-weight:800;letter-spacing:-.02em;font-size:1.05rem;white-space:nowrap}.logo-sub{font-size:.82rem;color:var(--text-muted);white-space:nowrap}@media(max-width:520px){.logo{padding:.25rem;max-width:56px}.logo-wordmark{display:none}}.header-nav{flex-wrap:wrap;gap:1rem;justify-content:center;max-width:100%}.header-nav,.header-user{display:flex;flex:1 1 auto;min-width:0}.header-user{align-items:center;justify-content:flex-end;gap:.75rem;padding-right:1rem;flex-wrap:wrap;margin-left:auto}.nav-link{text-decoration:none;padding:.5rem 1rem;border-radius:5px;font-weight:700;background-color:var(--accent);border:1px solid var(--accent-hover);transition:background .2s ease;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%}.nav-link,.nav-link:hover{color:var(--text-inverted)}.nav-link:hover{background-color:var(--accent-hover)}.nav-link.active{background-color:#5a8ca3}.nav-link.restricted{background-color:#e0f1ed;color:#999;cursor:not-allowed;opacity:.6}.avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid #ccc}.mobile-menu-btn{display:none;align-items:center;justify-content:center;background:none;border:1px solid var(--border-muted);border-radius:var(--radius-medium);color:var(--text-main);cursor:pointer;padding:.4rem;width:40px;height:40px;flex:0 0 auto}.mobile-menu-btn:hover{background:var(--accent-light)}.mobile-menu-btn svg{display:block}@media(max-width:767px){.main-header{padding:0 1rem;flex-wrap:nowrap;min-height:60px;align-items:center;position:sticky}.header-left{flex:0 0 auto}.header-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:200;flex-direction:column;flex-wrap:nowrap;gap:0;padding:.5rem 0;background:var(--surface-header);border-bottom:1px solid var(--border-muted);box-shadow:0 4px 12px rgba(0,0,0,.12)}.header-nav.mobile-open{display:flex}.header-nav .nav-link{border-radius:0;border:none;border-bottom:1px solid var(--border-muted);padding:.85rem 1.25rem;min-height:44px;display:flex;align-items:center;width:100%;background:rgba(0,0,0,0);color:var(--text-main);font-weight:600}.header-nav .nav-link:last-child{border-bottom:none}.header-nav .nav-link.active,.header-nav .nav-link:hover{background:var(--accent-light);color:var(--text-main)}.header-user{flex:1 1 auto;justify-content:flex-end;flex-wrap:nowrap;padding-right:.5rem;gap:.5rem}.mobile-menu-btn{display:flex}.avatar{width:40px;height:40px}}.landing-container{max-width:1100px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}.landing-nav{position:sticky;top:0;z-index:1000;background-color:var(--surface-header);border-bottom:1px solid var(--border-muted);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,2.5rem);min-height:70px;gap:1.5rem}.landing-nav .landing-nav-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text-main);font-weight:800;font-size:var(--text-lg);white-space:nowrap}.landing-nav .landing-nav-links{display:flex;gap:1.5rem;align-items:center;list-style:none;margin:0;padding:0}.landing-nav .landing-nav-links a{color:var(--text-main);text-decoration:none;font-size:var(--text-sm);font-weight:500;opacity:.8;transition:opacity .15s ease}.landing-nav .landing-nav-links a:hover{opacity:1}.landing-nav .landing-nav-actions{display:flex;gap:.75rem;align-items:center;white-space:nowrap}@media(max-width:768px){.landing-nav .landing-nav-links{display:none}}.landing-hero{padding:clamp(3.5rem,10vw,7rem) 0 clamp(3rem,8vw,6rem);background:radial-gradient(900px circle at 15% 0,rgb(var(--accent-rgb,27 88 102)/.1),transparent 55%),radial-gradient(900px circle at 85% 10%,rgb(var(--header-rgb,170 225 224)/.22),transparent 60%),var(--surface-bg);text-align:center}.landing-hero .landing-container{display:flex;flex-direction:column;align-items:center}.landing-hero h1{font-size:clamp(2rem,5.5vw,3.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;max-width:820px;margin:0 auto var(--space-4);color:var(--text-main)}.landing-hero .hero-subheading{font-size:clamp(1rem,2vw,1.2rem);color:var(--text-muted);max-width:600px;margin:0 auto var(--space-5);line-height:1.65}.landing-hero .hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-3)}.landing-hero .hero-footnote{font-size:var(--text-sm);color:var(--text-muted);margin:0}.hero-badge-row{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-4)}.trust-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .9rem;border-radius:999px;border:1px solid var(--border-strong);font-size:var(--text-sm);font-weight:600;background:var(--accent-light);color:var(--text-main)}.trust-badge svg{width:14px;height:14px}.landing-section{padding:clamp(3rem,6vw,5rem) 0}.landing-section-header{text-align:center;margin-bottom:var(--space-6)}.landing-section-header h2{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;letter-spacing:-.02em;margin:0 0 var(--space-3);color:var(--text-main)}.landing-section-header p{color:var(--text-muted);max-width:540px;margin:0 auto;font-size:var(--text-base);line-height:1.65}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.5rem}.feature-card{display:flex;flex-direction:column;gap:.75rem;padding:var(--space-4)}.feature-card .feature-icon{color:var(--accent);flex-shrink:0}.feature-card h3{margin:0;font-size:var(--text-lg);font-weight:700;color:var(--text-main)}.feature-card p{margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.65}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;text-align:center}.landing-step{display:flex;flex-direction:column;align-items:center}.landing-step .step-number{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--text-inverted);font-size:1.35rem;font-weight:800;margin-bottom:var(--space-3);flex-shrink:0}.landing-step h3{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:700;color:var(--text-main)}.landing-step p{color:var(--text-muted);margin:0;font-size:var(--text-sm);line-height:1.65}@media(max-width:768px){.landing-steps{grid-template-columns:1fr;gap:2rem}}.landing-audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.audience-card{padding:var(--space-5)}.audience-card h3{margin:0 0 var(--space-3);font-size:var(--text-xl);font-weight:800;color:var(--text-main)}.audience-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.audience-card li{display:flex;align-items:flex-start;gap:.6rem;font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.audience-card li:before{content:"✓";color:var(--accent);font-weight:800;flex-shrink:0;margin-top:1px}@media(max-width:768px){.landing-audience-grid{grid-template-columns:1fr}}.landing-security{background-color:var(--surface-header);border-top:1px solid var(--border-muted);border-bottom:1px solid var(--border-muted)}.landing-security-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;text-align:center}.security-item{display:flex;flex-direction:column;align-items:center;gap:.75rem}.security-item .security-icon{color:var(--accent)}.security-item h3{margin:0;font-size:var(--text-base);font-weight:700;color:var(--text-main)}.security-item p{margin:0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.6}@media(max-width:768px){.landing-security-grid{grid-template-columns:1fr;gap:2rem}}.landing-pricing{text-align:center}.landing-pricing .pricing-eyebrow{font-size:var(--text-sm);font-weight:600;color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin:0 0 var(--space-3)}.landing-pricing h2{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;letter-spacing:-.02em;margin:0 0 var(--space-3);color:var(--text-main)}.landing-pricing .pricing-subheading{color:var(--text-muted);max-width:480px;margin:0 auto var(--space-5);font-size:var(--text-base);line-height:1.65}.landing-pricing .pricing-cta-group{display:flex;flex-direction:column;align-items:center;gap:1rem}.landing-pricing .pricing-login-link{font-size:var(--text-sm);color:var(--text-muted)}.landing-pricing .pricing-login-link a{color:var(--accent);font-weight:600}.landing-footer{background-color:var(--surface-header);border-top:1px solid var(--border-muted);padding:clamp(2rem,4vw,3rem) 0}.landing-footer .landing-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;align-items:start}.landing-footer .footer-brand{display:flex;flex-direction:column;gap:.5rem}.landing-footer .footer-brand .footer-logo{font-weight:800;font-size:var(--text-lg);color:var(--text-main)}.landing-footer .footer-brand .footer-tagline{font-size:var(--text-sm);color:var(--text-muted)}.landing-footer .footer-brand .footer-company{font-size:var(--text-xs);color:var(--text-muted);margin-top:.25rem}.landing-footer .footer-links-col{display:flex;flex-direction:column;gap:.5rem}.landing-footer .footer-links-col .footer-col-heading{font-size:var(--text-sm);font-weight:700;color:var(--text-main);margin-bottom:.25rem}.landing-footer .footer-links-col a{font-size:var(--text-sm);color:var(--text-muted);text-decoration:none;transition:color .15s ease}.landing-footer .footer-links-col a:hover{color:var(--accent)}.landing-footer .footer-support-col{display:flex;flex-direction:column;gap:.5rem}.landing-footer .footer-support-col .footer-col-heading{font-size:var(--text-sm);font-weight:700;color:var(--text-main);margin-bottom:.25rem}.landing-footer .footer-support-col a{font-size:var(--text-sm);color:var(--text-muted);text-decoration:none;word-break:break-all}.landing-footer .footer-support-col a:hover{color:var(--accent)}.landing-footer .footer-support-col .footer-copyright{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-2)}@media(max-width:768px){.landing-footer .landing-footer-grid{grid-template-columns:1fr;gap:2rem}}.landing-page{min-height:100vh;background-color:var(--surface-bg);font-family:var(--font-body)}:root{--surface-bg:#dde4ec;--surface-alt:#ffffff;--surface-header:#aae1e0;--text-main:#1b5866;--text-muted:rgba(27,88,102,0.72);--text-inverted:#ffffff;--accent:#1b5866;--accent-hover:#15444f;--accent-light:rgba(170,225,224,0.45);--accent-rgb:27 88 102;--header-rgb:170 225 224;--danger:#f44336;--danger-hover:#d32f2f;--success:#2e7d32;--border-muted:#cfd8df;--shadow-default:0 10px 30px rgba(0,0,0,0.09);--shadow-sm:0 6px 18px rgba(0,0,0,0.08);--shadow-lg:0 12px 40px rgba(0,0,0,0.12);--border-strong:rgba(27,88,102,0.18);--ring:0 0 0 3px rgba(var(--accent-rgb,76 175 171),0.24);--space-1:0.25rem;--space-2:0.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--text-xs:0.8rem;--text-sm:0.9rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.35rem;--text-2xl:1.65rem;--radius-small:6px;--radius-medium:12px;--radius-large:20px;--font-body:"Lexend",sans-serif;--font-heading:"Lexend",sans-serif}[data-text-scale=sm]{--text-xs:0.75rem;--text-sm:0.84rem;--text-base:0.95rem;--text-lg:1.05rem;--text-xl:1.25rem;--text-2xl:1.52rem}[data-text-scale=lg]{--text-xs:0.86rem;--text-sm:0.98rem;--text-base:1.08rem;--text-lg:1.22rem;--text-xl:1.48rem;--text-2xl:1.8rem}[data-contrast=high]{--text-muted:rgba(27,88,102,0.86);--border-muted:rgba(27,88,102,0.3);--shadow-default:0 10px 26px rgba(0,0,0,0.12);--shadow-sm:0 6px 18px rgba(0,0,0,0.12);--ring:0 0 0 3px rgba(var(--accent-rgb,27 88 102),0.28)}[data-palette=cozy]{--surface-header:#f0e2cc;--accent:#1b5866;--accent-hover:#15444f;--accent-light:rgba(240,226,204,0.55);--accent-rgb:27 88 102;--header-rgb:240 226 204}[data-palette=peach]{--surface-bg:#dde4ec;--surface-header:#faccbd;--accent:#1b5866;--accent-hover:#15444f;--accent-light:rgba(250,204,189,0.55);--accent-rgb:27 88 102;--header-rgb:250 204 189}[data-palette=sage]{--surface-bg:#dde4ec;--surface-header:#d4dcb2;--accent:#1b5866;--accent-hover:#15444f;--accent-light:rgba(212,220,178,0.55);--accent-rgb:27 88 102;--header-rgb:212 220 178}[data-palette=aqua]{--surface-bg:#dde4ec;--surface-header:#aae1e0;--accent:#1b5866;--accent-hover:#15444f;--accent-light:rgba(170,225,224,0.45);--accent-rgb:27 88 102;--header-rgb:170 225 224}[data-font=rounded]{--font-body:"Lexend",sans-serif;--font-heading:"Lexend",sans-serif}[data-font=serif]{--font-body:ui-serif,Georgia,"Times New Roman",Times,serif;--font-heading:ui-serif,Georgia,"Times New Roman",Times,serif}[data-font=mono]{--font-body:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-heading:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}[data-reduce-motion=true] *{animation:none!important;transition:none!important}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;font-family:var(--font-body);background-color:var(--surface-bg,#dde4ec)}body,h1,h2,h3,h4,html{color:var(--text-main)}h1,h2,h3,h4{margin:0 0 var(--space-3,1rem) 0;line-height:1.2;letter-spacing:-.01em}h1{font-size:var(--text-2xl,1.65rem)}h1,h2{font-weight:700}h2{font-size:var(--text-xl,1.35rem)}h3{font-size:var(--text-lg,1.125rem);font-weight:650}h4{font-weight:600}h4,p{font-size:var(--text-base,1rem)}p{line-height:1.65}ol,p,ul{margin:0 0 var(--space-3,1rem) 0}ol,ul{padding-left:1.25rem}li{margin-bottom:var(--space-1,.25rem)}label{font-weight:600;margin:0 0 var(--space-2,.5rem) 0;display:block}.text-note{font-size:var(--text-sm,.9rem);margin-top:var(--space-2,.5rem)}.muted,.text-muted,.text-note{color:var(--text-muted)}.text-xs{font-size:var(--text-xs,.8rem)}.text-sm{font-size:var(--text-sm,.9rem)}.text-lg{font-size:var(--text-lg,1.125rem)}.page-title{font-size:var(--text-2xl,1.65rem);margin-bottom:var(--space-2,.5rem)}.page-subtitle{margin:0 0 var(--space-3,1rem) 0;color:var(--text-muted)}.section-title{font-size:var(--text-xl,1.35rem);margin-bottom:var(--space-2,.5rem)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95em;padding:.1em .35em;border-radius:6px}code,pre{background:rgba(0,0,0,.04)}pre{padding:var(--space-3,1rem);border-radius:10px;overflow:auto}.pre-wrap{white-space:pre-wrap;word-break:break-word}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:2rem}.text-center{text-align:center}.row{display:flex;gap:var(--space-2,.5rem);flex-wrap:wrap;align-items:center}.row .btn,.row .button{margin:0}.row .input,.row input[type=date],.row input[type=email],.row input[type=number],.row input[type=password],.row input[type=text],.row input[type=time],.row select,.row textarea{margin-bottom:0}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-reduce-motion=true] *,[data-reduce-motion=true] :after,[data-reduce-motion=true] :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-contrast=high]{--text-main:#000000;--text-muted:#1a1a1a;--border-muted:#000000;--surface-alt:#ffffff;--surface-bg:#f8f8f8}[data-contrast=high] .button,[data-contrast=high] a,[data-contrast=high] button{text-decoration:underline;font-weight:600}[data-text-scale=lg]{font-size:112.5%}[data-text-scale=sm]{font-size:87.5%}:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px;border-radius:2px}