:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -1px #0000000a;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--page-padding-x:var(--space-6);--page-padding-y:var(--space-4);--color-bg:#f1f5f9;--color-surface:#fff;--color-border:#e2e8f0;--color-text:#0f172a;--color-text-muted:#64748b;--color-accent:#4f46e5;--color-accent-hover:#4338ca;--color-accent-subtle:#eef2ff;--bs-primary:#4f46e5;--bs-primary-rgb:79, 70, 229;--bs-secondary:#64748b;--bs-secondary-rgb:100, 116, 139;--bs-body-bg:#f1f5f9;--bs-body-color:#0f172a;--bs-secondary-color:#64748b;--bs-border-color:#e2e8f0;--bs-light:#f8fafc;--bs-light-rgb:248, 250, 252;--bs-link-color:#4f46e5;--bs-link-hover-color:#4338ca}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#4f46e5;--bs-btn-border-color:#4f46e5;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#4338ca;--bs-btn-hover-border-color:#4338ca;--bs-btn-active-bg:#3730a3;--bs-btn-active-border-color:#3730a3;--bs-btn-disabled-bg:#4f46e5;--bs-btn-disabled-border-color:#4f46e5}.btn-outline-primary{--bs-btn-color:#4f46e5;--bs-btn-border-color:#4f46e5;--bs-btn-hover-bg:#4f46e5;--bs-btn-hover-border-color:#4f46e5;--bs-btn-active-bg:#4338ca;--bs-btn-active-border-color:#4338ca}.card{--bs-card-border-color:var(--bs-border-color);box-shadow:var(--shadow-sm)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--text-base);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.name-column{padding-right:1rem}.billable-column,.include-calculations-column,.active-column,.actions-column{width:100px}.category-row{padding:var(--space-1) 0}.parent-category{border-top:1px solid var(--bs-border-color);margin-top:var(--space-2);padding-top:var(--space-2);background-color:#00000005}.parent-category:first-child{border-top:none;margin-top:0}.child-category{background-color:var(--color-surface);border-left:3px solid var(--bs-border-color);margin-left:var(--space-2)}.category-row:hover{background-color:#0000000a}.form-check-input{cursor:pointer}.form-switch{padding-left:2.5em}.input-group-text .form-switch{margin-bottom:0;padding-left:3em}.saving-spinner,.success-indicator,.error-indicator{background-color:#0000;border-left:none}.saving-spinner .spinner-border{width:1rem;height:1rem;color:var(--bs-secondary-color,#6c757d)}.success-indicator{animation:1.5s ease-in-out fadeInOut}.error-indicator{animation:.3s ease-in-out fadeIn}@keyframes fadeInOut{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.card-body:has(>.calendar-view){flex-direction:column;display:flex}.calendar-view{flex-direction:column;flex:auto;display:flex}.calendar-view>.card{flex:auto}.calendar-body{flex-direction:column;display:flex}.calendar-grid-container{flex:auto;min-height:34rem;container-type:inline-size}.calendar-grid{table-layout:fixed;height:100%}.calendar-grid thead tr{height:0}.calendar-grid th{text-align:center;text-transform:uppercase;font-weight:600;font-size:clamp(var(--text-xs), min(1cqi, 1.6vh), 1rem)}.calendar-grid td{vertical-align:top;width:12.5%;padding:clamp(var(--space-1), min(.5cqi, .8vh), .75rem)}.calendar-grid td small,.calendar-category{color:var(--bs-secondary-color);font-size:clamp(var(--text-xs), min(1cqi, 1.2vh), 1.15rem);line-height:1.35;display:block}.calendar-categories{margin:0;padding:0;list-style:none}.calendar-category{gap:var(--space-1);display:flex}.calendar-category-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.calendar-category-hours{font-variant-numeric:tabular-nums;flex:none}.calendar-grid td small:not(.calendar-percentage){font-weight:500}.calendar-day a{color:var(--bs-link-color);font-weight:500;font-size:clamp(var(--text-sm), min(1.4cqi, 2vh), 1.6rem);text-decoration:none}.calendar-day a:hover{text-decoration:underline}.weekend-date{background-color:#f8f9fa80}.calendar-outside-month{opacity:.5}.calendar-grid td.calendar-today{background-color:rgba(var(--bs-primary-rgb), .12);box-shadow:inset 0 0 0 2px var(--bs-primary)}.calendar-today a{background-color:var(--bs-primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.75em;height:1.75em;padding:0 .25em;font-weight:700;display:inline-flex}.calendar-week-total{background-color:var(--bs-light);font-weight:500}.entries-table .col-description{width:50%}.entries-table .col-duration{white-space:nowrap;width:10%}.entries-table .col-category{width:20%}.entries-table .col-billable{text-align:center;width:10%}.entries-table .col-actions{white-space:nowrap;width:10%}.entries-table td,.entries-table th{padding:var(--space-2) var(--space-3);vertical-align:middle}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:1s linear infinite spin}.auto-refresh-indicator{align-items:center;gap:var(--space-1);transition:opacity .2s;display:flex}.auto-refresh-indicator.polling{color:var(--bs-primary)}.auto-refresh-indicator.active{color:var(--bs-success)}.auto-refresh-indicator .bi-arrow-clockwise{font-size:var(--text-sm);transition:transform .2s}.auto-refresh-indicator .bi-arrow-clockwise.spinning{animation:1s linear infinite spin}.auto-refresh-indicator:hover{opacity:.8}.auto-refresh-toast{border-left:3px solid var(--bs-info);background-color:#0dcaf01a}.auto-refresh-toast .toast-body{color:var(--bs-emphasis-color);font-size:var(--text-sm)}.hashtag{margin-right:var(--space-1);margin-bottom:var(--space-1);font-weight:500;transition:all .2s;color:#fff!important;background-color:#8b5cf6!important;border-color:#8b5cf6!important}.hashtag-sm{font-size:var(--text-xs);padding:var(--space-1) var(--space-1)}.hashtag-md{font-size:var(--text-sm);padding:var(--space-1) var(--space-2)}.hashtag-lg{font-size:var(--text-base);padding:var(--space-1) var(--space-3)}.hashtag-clickable{cursor:pointer}.hashtag-clickable:hover{transform:translateY(-1px);box-shadow:0 2px 4px #8b5cf64d;background-color:#7c3aed!important}.hashtag-clickable:active{transform:translateY(0)}.hashtags-container{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.hashtags-inline{gap:var(--space-1);flex-wrap:wrap;align-items:center;display:inline-flex}.gig-expiration-pill{padding:var(--space-1) var(--space-3);margin-left:var(--space-2);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:12px;font-weight:500;transition:opacity .2s,transform .1s;display:inline-block}.gig-expiration-pill:hover{opacity:.8;transform:translateY(-1px)}.gig-expiration-pill:active{transform:translateY(0)}.gig-expiration-pill:focus{outline:2px solid var(--bs-primary);outline-offset:2px}.gig-expiration-pill--urgent{color:#c00;background-color:#fee;border:1px solid #fcc}.gig-expiration-pill--urgent:hover{background-color:#fdd;border-color:#fbb}.gig-expiration-pill--warning{color:#856404;background-color:#fff3cd;border:1px solid #ffeaa7}.gig-expiration-pill--warning:hover{background-color:#ffe8a1;border-color:#ffd966}@media (width<=768px){.gig-expiration-pill{margin-left:6px;padding:3px 10px;font-size:9px}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton-table{width:100%;margin-bottom:1rem}.skeleton-table-header{gap:1rem;margin-bottom:.5rem;display:flex}.skeleton-table-body{flex-direction:column;gap:.5rem;display:flex}.skeleton-row{gap:1rem;display:flex}.skeleton-cell{background:linear-gradient(90deg,#f0f0f0 8%,#e0e0e0 18%,#f0f0f0 33%) 0 0/2000px 100%;border-radius:4px;flex:1;height:2rem;animation:2s linear infinite shimmer}.skeleton-summary{flex-direction:column;gap:1rem;display:flex}.skeleton-summary-item{flex-direction:column;gap:.5rem;display:flex}.skeleton-line{background:linear-gradient(90deg,#f0f0f0 8%,#e0e0e0 18%,#f0f0f0 33%) 0 0/2000px 100%;border-radius:4px;height:1.5rem;animation:2s linear infinite shimmer}.skeleton-line:first-child{width:80%}.skeleton-line:last-child{width:60%}.ql-container{border-bottom-left-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);background:#fff}.ql-toolbar{border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm);background:var(--bs-light);border-bottom:1px solid var(--bs-border-color)}.ql-editor{min-height:120px;font-family:inherit}.ql-editor.ql-blank:before{color:var(--bs-secondary-color);font-style:normal}.is-invalid .ql-toolbar,.is-invalid .ql-container{border-color:var(--bs-danger)}.is-invalid .ql-editor.ql-blank:before{color:var(--bs-danger)}.modal-body{max-height:none}.accomplishment-modal .modal-content{min-height:600px}.accomplishment-modal .modal-body{flex-direction:column;display:flex}.accomplishment-editor .ql-editor{min-height:250px;max-height:350px;overflow-y:auto}.hashtag-input-container{width:100%;position:relative}.hashtag-suggestions{z-index:1050;max-height:200px;box-shadow:var(--shadow-md);border-radius:var(--radius-sm);margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.hashtag-suggestion-item{cursor:pointer;padding:var(--space-2) var(--space-3);transition:background-color .15s ease-in-out}.hashtag-suggestion-item:hover{background-color:var(--bs-light)}.hashtag-suggestion-item.active{color:#fff;background-color:#8b5cf6}.cursor-pointer{cursor:pointer}.accomplishment-item:hover{background-color:#00000008}.daily-diary-container h5{font-size:var(--text-lg)}.daily-diary-container h6{font-size:var(--text-base)}.daily-diary-container .fw-bold{font-size:var(--text-sm)}.daily-diary-container .list-group-item{padding:var(--space-2) var(--space-3)}.daily-diary-container .accomplishment-note{font-size:var(--text-sm)}.daily-diary-container .meta-info{font-size:var(--text-xs)!important}.daily-diary-container p{font-size:var(--text-sm)}.daily-diary-container .btn-sm{font-size:var(--text-xs)}.save-indicator{margin-left:var(--space-2);align-items:center;display:flex}.indicator{justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.indicator.saving .spinner-border{width:1rem;height:1rem;color:var(--bs-secondary-color,#6c757d)}.indicator.success{animation:1.5s ease-in-out fadeInOut}.indicator.error{animation:.3s ease-in-out fadeIn}.table>:not(caption)>*>*{padding:var(--space-2)}.form-control-sm,.form-select-sm{min-height:calc(1.5em + .5rem + 2px)}.gig-category-picker{flex-wrap:wrap;align-items:center;gap:.25rem;min-width:200px;display:flex}.gig-category-chip{align-items:center;display:inline-flex}.gig-category-picker .form-select{flex:140px}.navbar-brand{padding:.5rem 1rem}.navbar-brand img{transition:opacity .3s}.navbar-brand:hover img{opacity:.8}.utilization-container{padding:var(--space-2);background-color:var(--bs-light);border-radius:var(--radius-sm);margin-right:var(--space-4);flex-direction:column;align-items:center;display:flex}.utilization-text{font-size:var(--text-sm);margin-bottom:var(--space-1);white-space:nowrap}.utilization-loading{font-size:var(--text-sm);color:var(--bs-secondary-color)}.utilization-container .progress{height:var(--space-4);background-color:var(--bs-border-color);border-radius:var(--radius-sm);position:relative;overflow:hidden}.utilization-container .progress-bar{transition:width .3s}.utilization-container .progress-bar.bg-success .utilization-percentage,.utilization-container .progress-bar.bg-danger .utilization-percentage{color:#fff;text-shadow:1px 1px 1px #00000080}.utilization-container .progress-bar.bg-warning .utilization-percentage{color:var(--bs-body-color);text-shadow:none}.utilization-percentage{text-align:center;width:100%;font-size:var(--text-xs);line-height:var(--space-4);position:absolute}.navbar-collapse{width:100%}@media (width<=991.98px){.dropdown-menu{padding-left:var(--space-6);background-color:#0000;border:none}.dropdown-item{color:#0000008c}.dropdown-item:hover{color:#000000b3;background-color:#0000000d}.user-info{margin-bottom:var(--space-2)}}.navbar .container-fluid{padding:var(--space-2) var(--space-4)}@media (width>=992px){.dropdown:hover .dropdown-menu{margin-top:0;display:block}}.tag-view-item{transition:background-color .2s}.tag-view-item:hover{background-color:var(--bs-light)}.hashtags-inline{gap:var(--space-1);flex-wrap:wrap;display:flex}.hashtags-inline .badge{cursor:pointer}.clickable-date{cursor:pointer;transition:color .2s}.clickable-date:hover{color:var(--bs-primary)!important;text-decoration:underline!important}.hashtag-list-item{transition:background-color .2s,transform .1s}.hashtag-list-item:hover{background-color:var(--bs-light);transform:translate(2px)}.hashtag-stats{gap:var(--space-2);align-items:center;display:flex}.hashtag-list-item{cursor:pointer}.hashtag-stats .badge{font-size:var(--text-xs);font-weight:500}.hashtag-management-item{transition:background-color .2s}.hashtag-management-item:hover{background-color:var(--bs-light)}html,body,#root,.app{height:100%}
