*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4efe7;color:#231a12}button,input,select,textarea{font:inherit}a{color:inherit}.container{width:min(100%,780px);margin:0 auto;padding-left:.75rem;padding-right:.75rem}.card{border:1px solid #ddd8cf;border-radius:1rem;background:#fffefb;box-shadow:0 12px 28px #2c22140f}.card-header,.card-body{padding:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid transparent;border-radius:.8rem;padding:.7rem 1rem;background:transparent;color:inherit;cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-dark{background:#231a12;border-color:#231a12;color:#fff}.btn-dark:hover,.btn-dark:focus{background:#15100c;border-color:#15100c}.btn-success{background:#1f7a47;border-color:#1f7a47;color:#fff}.btn-success:hover,.btn-success:focus{background:#165a34;border-color:#165a34}.btn-outline-dark{border-color:#d4cec3;background:#fffefb;color:#3b342d}.btn-outline-dark:hover,.btn-outline-dark:focus{background:#f5efe7}.btn-close{position:relative;width:2rem;height:2rem;padding:0;border:0;border-radius:999px;background:transparent;opacity:.72}.btn-close:before,.btn-close:after{content:"";position:absolute;left:50%;top:50%;width:1rem;height:2px;border-radius:999px;background:currentColor}.btn-close:before{transform:translate(-50%,-50%) rotate(45deg)}.btn-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.btn-close-white{color:#fff}.form-label{display:inline-block;margin-bottom:.45rem;font-weight:600}.form-control{width:100%;min-height:2.75rem;padding:.7rem .8rem;border:1px solid #d4cec3;border-radius:.8rem;background:#fff;color:#231a12}.form-control:focus{outline:none;border-color:#8f2419;box-shadow:0 0 0 3px #8f24191f}.form-control.is-invalid{border-color:#b42318}.invalid-feedback{color:#b42318;font-size:.85rem;margin-top:.35rem}.alert{border-radius:.9rem;padding:.85rem 1rem}.alert-info{background:#e9f5ff;border:1px solid #b9daf5;color:#184b73}.list-group{list-style:none;margin:0;padding:0}.list-group-item{list-style:none}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .65rem;font-size:.82rem;font-weight:700}.rounded-pill{border-radius:999px}.bg-primary{background:#8f2419;color:#fff}.text-bg-light{background:#f5efe7;color:#5b5146}.border{border:1px solid #ddd4c6}.row{display:flex;gap:.75rem}.col-4{flex:1 1 0;min-width:0}.w-100{width:100%}.d-block{display:block}.d-flex{display:flex}.justify-content-between{justify-content:space-between}.align-items-start{align-items:flex-start}.align-items-center{align-items:center}.text-center{text-align:center}.text-start{text-align:left}.text-light{color:#fff}.text-muted{color:#7c746a}.text-success{color:#1f7a47}.small,small{font-size:.875rem}.fw-bold{font-weight:700}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.spinner-border{width:2.25rem;height:2.25rem;border:.24rem solid rgba(255,255,255,.28);border-top-color:currentColor;border-radius:50%;animation:spinner-border .7s linear infinite}@keyframes spinner-border{to{transform:rotate(360deg)}}.app-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:#18120d7a}.app-modal-shell{width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #ddd8cf;border-radius:1.4rem;background:#fffefb;box-shadow:0 24px 60px #281c112e}.app-drawer-backdrop{position:fixed;inset:0;z-index:1100;background:#18120d7a}.app-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1101;width:min(22rem,calc(100vw - 20px));padding:0;background:linear-gradient(180deg,#251b15,#140f0c);color:#fff;box-shadow:-12px 0 28px #0f0a0747;overflow-y:auto}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}.offcanvas-title{margin:0;font-size:1.1rem}.offcanvas-body{padding:0 1rem 1rem}.job-details-modal-window .modal-dialog{margin-top:3rem;max-width:min(920px,calc(100vw - 40px))}.job-details-modal-window .modal-dialog.modal-dialog-scrollable{height:calc(100dvh - 3rem)}.job-details-modal-window .modal-content{border:1px solid #ddd8cf;border-radius:1.4rem;overflow:hidden;background:#fffefb;box-shadow:0 24px 60px #281c112e}.job-details-modal-window .modal-header,.job-details-modal-window .modal-body{background:transparent}.job-details-modal-window .modal-body{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.job-details-modal-window .btn-close{box-shadow:none}.app-header{position:sticky;top:0;z-index:1000;padding:1rem 1rem 1.1rem;color:#fff;background:radial-gradient(circle at top right,rgba(255,210,172,.18),transparent 32%),linear-gradient(135deg,#7f130d,#991710 42%,#5e0f0b);box-shadow:0 6px 18px #4d100b1f}.app-header:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:#ffffff1f}.app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-brand{display:flex;align-items:center;min-width:0}.app-brand-copy{display:flex;flex-direction:column;min-width:0}.app-brand-title{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-brand-subtitle{margin-top:.2rem;color:#fff5ecd6;font-size:.92rem}.app-header-actions{display:flex;align-items:center;justify-content:flex-end}.app-menu-button{display:inline-flex;align-items:center;justify-content:center;width:2.65rem;height:2.65rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#fffaf41f;color:#fff;padding:0}.app-menu-icon{display:block;width:1rem;height:2px;border-radius:999px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}.app-menu-button:hover,.app-menu-button:focus{color:#fff;border-color:#ffffff59;background:#fffaf433}.app-menu-section+.app-menu-section{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12)}.app-menu-eyebrow{margin-bottom:.45rem;color:#fff4e89e;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.app-menu-summary{color:#fff7f0;font-size:1rem;font-weight:600;line-height:1.45}.app-menu-meta{margin-top:.45rem;color:#fff4e8bd;font-size:.84rem}.logout-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid rgba(255,191,176,.28);border-radius:1rem;padding:.9rem 1rem;background:linear-gradient(180deg,#9212126b,#620a0a61);color:#fff6f2;font-weight:600;text-align:left}.logout-button:hover,.logout-button:focus{color:#fff;border-color:#ffd0c66b;background:linear-gradient(180deg,#aa181880,#74101070)}.logout-button-trail{position:relative;flex:0 0 auto;width:1rem;height:2px;border-radius:999px;background:currentColor}.logout-button-trail:after{content:"";position:absolute;right:0;top:50%;width:.45rem;height:.45rem;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateY(-50%) rotate(45deg)}.language-option-list,.language-selection-card{display:grid;gap:.7rem}.language-option-button,.language-selection-button{justify-content:flex-start;border-radius:.95rem;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.16);background:#fffaf414;color:#fff;font-weight:600;text-align:left}.language-option-button:hover,.language-option-button:focus,.language-selection-button:hover,.language-selection-button:focus{color:#fff;border-color:#ffffff4d;background:#fffaf424}.language-option-button.active{border-color:#ffd2acb3;background:#ffd2ac2e}.language-selection-modal .modal-content{border:1px solid #ddd8cf;border-radius:1.3rem;overflow:hidden;background:#fffefb;box-shadow:0 24px 60px #281c112e}.language-modal-header{border-bottom:1px solid #ece6db;background:#faf7f2}.language-selection-card{padding:.35rem 0}.language-selection-button{border-color:#ddd8cf;background:#fff;color:#231a12}.language-selection-button:hover,.language-selection-button:focus{color:#231a12;border-color:#c9c1b5;background:#faf7f2}.app-shell{max-width:760px;margin:0 auto;padding-top:.7rem;padding-bottom:2rem}.auth-shell{padding-bottom:1.5rem}.section-card{scroll-margin-top:1rem}.jobs-card{border:1px solid #ddd8cf;border-radius:1rem;overflow:hidden;background:#fffefb;box-shadow:0 12px 28px #2c22140f}.jobs-card .card-header,.job-time-card .card-header{border-bottom:1px solid #ece6db;background:#faf7f2}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.95rem 1rem;text-align:left}.section-title-block{min-width:0}.section-title-block strong{display:block;font-size:1.12rem;line-height:1.2}.section-eyebrow{margin-bottom:.22rem;color:#8d8578;font-size:.73rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .55rem;border-radius:999px;background:#8f2419;color:#fff;font-size:.9rem;font-weight:700;flex:0 0 auto}.job-card-body{padding:.85rem;background:#fffefb}.job-list{display:grid;gap:.75rem}.job-list>.job-list-item{cursor:pointer;border:1px solid #e6dfd3;border-radius:.85rem;padding:1rem;gap:1rem;background:#fff;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.job-list>.job-list-item:hover{background-color:#fcfaf6;border-color:#d8d1c5;transform:translateY(-1px)}.job-list-item-body{display:flex;flex-direction:column;min-width:0;flex:1;width:100%}.job-title-row{font-size:1rem;line-height:1.3;letter-spacing:-.01em}.job-title-row strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.job-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.job-meta .badge{border:1px solid #ddd4c6;background:#f5efe7!important;color:#5b5146!important;font-weight:700}.job-meta .badge.bg-primary{border-color:#8f2419;background:#8f2419!important;color:#fff!important}.job-address-line{margin-top:.25rem;line-height:1.4}.job-notes{color:#6c675f;line-height:1.5}.job-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.9rem;margin-top:.9rem;padding-top:.85rem;border-top:1px solid #ece6db}.job-card-footer-compact{justify-content:flex-end;padding-top:0;border-top:0}.job-card-hint{color:#8d8578;font-size:.82rem;line-height:1.35}.job-action-badge{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;border-radius:999px;background:#f8ede5;color:#7f130d;padding:.5rem .82rem;font-size:.84rem;font-weight:700}.job-action-badge:after{content:"\203a";font-size:1rem;line-height:1}.last-week-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:2.75rem;border-style:solid;border-color:#d4cec3;background:#fffefb;color:#5b5146;padding:.8rem 1rem;box-shadow:0 10px 24px #2c22140a}.last-week-toggle:hover,.last-week-toggle:focus{background:#fcf7f1;border-color:#cabca8;color:#4d4339}.last-week-toggle-label{font-weight:700}.last-week-toggle-state{color:#8d8578;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.job-modal-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem 1.15rem;border-bottom:1px solid #ece6db;background:#faf7f2}.job-modal-header>div{min-width:0;flex:1 1 auto}.job-modal-header .btn-close{margin-left:auto;flex:0 0 auto;border:1px solid #d7cec0;border-radius:999px;background:#fff;color:#5f5348}.job-modal-header .btn-close:hover,.job-modal-header .btn-close:focus{border-color:#c3b8a9;background:#f5eee5;color:#3f362f}.job-modal-eyebrow{color:#8d8578;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}.job-modal-title{margin:0;font-size:1.35rem;line-height:1.3;word-break:break-word}.app-modal-shell.job-details-modal-window{display:flex;flex-direction:column;overflow:hidden}.job-modal-body{flex:1 1 auto;min-height:0;padding:1.25rem;background:#fffefb;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.job-modal-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1rem}.job-meta-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.4rem .75rem;background:#f2ebe2;color:#5b5146;font-size:.88rem;font-weight:600}.job-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.job-detail-grid>.job-detail-section:only-child{grid-column:1 / -1}.job-detail-section{border:1px solid #e6dfd3;border-radius:1rem;padding:1rem 1.05rem;background:#fff}.job-detail-label{color:#8d8578;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem}.job-detail-link{color:#0b57d0;text-decoration:none;line-height:1.55}.job-detail-empty{color:#7c746a}.job-detail-richtext{color:#3a342e;line-height:1.65;overflow-wrap:anywhere}.job-detail-richtext p:last-child,.job-detail-richtext ul:last-child,.job-detail-richtext ol:last-child{margin-bottom:0}.job-detail-richtext ul,.job-detail-richtext ol{padding-left:1.2rem}.job-log-list{display:grid;gap:.75rem}.job-log-item{padding:.8rem .9rem;border-radius:.85rem;background:#faf7f2}.job-log-time{font-weight:600;color:#2a2a2a;margin-bottom:.2rem}.job-log-note{color:#6c675f}.sticky-log-toggle{position:sticky;bottom:0;z-index:1;background:#fffefb;border-color:#d4cec3}.job-time-card{border:1px solid #ddd8cf;border-radius:.85rem;overflow:hidden;background:#fff}@media (max-width: 767px){.job-details-modal-window .modal-dialog{margin-top:1rem;max-width:calc(100vw - 20px)}.job-details-modal-window .modal-dialog.modal-dialog-scrollable{height:calc(100dvh - 1rem)}.app-header{padding:.8rem .8rem .95rem}.app-header-inner{align-items:center}.app-header-actions{width:auto}.app-menu-button{width:2.45rem;height:2.45rem}.app-brand-title{font-size:1.05rem}.app-brand-subtitle{font-size:.76rem}.app-shell{margin-top:0!important;padding-top:.45rem;padding-left:.4rem;padding-right:.4rem}.section-header{padding:.8rem .85rem}.section-title-block strong{font-size:1rem}.job-card-body{padding:.7rem}.job-list>.job-list-item{flex-direction:column;align-items:flex-start!important;gap:.65rem;padding:.9rem}.job-card-footer{align-items:stretch;flex-direction:column;gap:.6rem}.job-card-hint{font-size:.8rem}.job-action-badge{justify-content:center;width:100%;padding-block:.68rem}.last-week-toggle{padding:.78rem .9rem}.job-detail-grid{grid-template-columns:1fr;gap:.75rem;margin-top:.75rem}.sticky-log-toggle{bottom:-1rem}.job-details-modal-window .modal-content{border-radius:1rem}.job-modal-header{padding:.9rem 1rem}.job-modal-title{font-size:1.12rem}.job-modal-body{padding:.95rem}.job-modal-meta{gap:.45rem;margin-bottom:.8rem}.job-detail-section{padding:.85rem .9rem;border-radius:.85rem}}
