@import "https://fonts.googleapis.com/css2?family=Philosopher:wght@400;700&family=Inter:wght@300;400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}body{color:#3d3530;background:#faf8f5;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400}.header{color:#f5efe8;z-index:100;background:linear-gradient(135deg,#2c4a3e 0%,#3d6b5a 100%);flex-wrap:wrap;align-items:center;gap:1rem;padding:.6rem 1.2rem;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #2c4a3e33}.logo{white-space:nowrap;letter-spacing:.02em;color:#e8d5b5;align-items:center;gap:.5rem;font-family:Philosopher,serif;font-size:1.15rem;font-weight:600;display:flex}.logo-img{border-radius:4px;width:auto;height:32px}.home-menu{flex-direction:column;justify-content:center;max-width:600px;height:calc(100vh - 56px);margin:0 auto;padding:1.5rem 1rem 2rem;display:flex;overflow:hidden}.home-menu-greeting h2{color:#2c4a3e;margin-bottom:.25rem;font-family:Philosopher,serif;font-size:1.5rem}.home-menu-subtitle{color:#8a7a6a;margin-bottom:1.5rem;font-size:.9rem}.home-menu-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.home-menu-tile{cursor:pointer;background:#fff;border:none;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #2c4a3e14}.home-menu-tile:active:not(:disabled){transform:scale(.96)}.home-menu-tile:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 16px #2c4a3e26}.home-menu-tile-disabled{opacity:.5;cursor:not-allowed}.home-menu-tile-icon{border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.home-menu-tile-icon svg{stroke:#fff;width:28px;height:28px}.home-menu-tile-label{color:#3d3530;text-align:center;font-size:.85rem;font-weight:500;line-height:1.2}.home-menu-tile-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:#d4a574;border-radius:8px;padding:2px 6px;font-size:.6rem;font-weight:600;position:absolute;top:8px;right:8px}.bottom-nav{-webkit-backdrop-filter:blur(20px)saturate(1.4);padding:.6rem 0 calc(.6rem + env(safe-area-inset-bottom));z-index:100;background:#fffdf9b8;border-top:1px solid #d4c5b066;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #2c4a3e14}.bottom-nav-item{color:#a69d93;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:.25rem 1rem;font-size:.7rem;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.bottom-nav-item svg{width:22px;height:22px}.bottom-nav-item.active{color:#2c4a3e;font-weight:600}.bottom-nav-item.active svg{stroke-width:1.8px}.bottom-nav-item:hover{color:#2c4a3e}.bottom-nav-fab{color:#fff;cursor:pointer;background:linear-gradient(135deg,#b8935a 0%,#c9a66b 100%);border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;width:52px;height:52px;margin-top:-1.5rem;transition:all .2s;display:flex;box-shadow:0 4px 16px #b8935a66}.bottom-nav-fab:hover{background:linear-gradient(135deg,#a67f4a 0%,#b8935a 100%);transform:scale(1.05)}.bottom-nav-fab:active{transform:scale(.95)}.bottom-nav-fab svg{width:24px;height:24px}.bottom-nav-fab span{display:none}.header-right{align-items:center;gap:.5rem;margin-left:auto;display:flex}.lang-toggle{color:#e8d5b5;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #e8d5b54d;border-radius:6px;padding:.3rem .6rem;font-family:Inter,sans-serif;font-size:.85rem;transition:background .2s}.lang-toggle:hover{background:#fff3}.user-menu-wrapper{position:relative}.user-menu-trigger{color:#e8d5b5;cursor:pointer;background:#ffffff1a;border:1px solid #e8d5b54d;border-radius:6px;padding:.3rem .6rem;font-family:Inter,sans-serif;font-size:.85rem;transition:background .2s}.user-menu-trigger:hover{background:#fff3}.user-dropdown{z-index:200;background:#fffdf9;border:1px solid #e8ddd0;border-radius:10px;min-width:180px;position:absolute;top:calc(100% + .4rem);right:0;overflow:hidden;box-shadow:0 8px 30px #3c322826}.user-dropdown-info{flex-direction:column;gap:.15rem;padding:.75rem;display:flex}.user-dropdown-info strong{color:#3d3530;font-size:.9rem}.user-dropdown-info span{color:#8c7e72;font-size:.75rem}.user-dropdown-divider{border:none;border-top:1px solid #e8ddd0;margin:0}.user-dropdown-item{text-align:left;cursor:pointer;color:#3d3530;background:0 0;border:none;width:100%;padding:.6rem .75rem;font-family:Inter,sans-serif;font-size:.85rem;transition:background .15s}.user-dropdown-item:hover{background:#f5efe8}.user-dropdown-danger{color:#b54a3f}.user-dropdown-link{color:#2c4a3e}.main{max-width:1200px;margin:0 auto;padding:1.2rem 1.2rem 5rem}.btn{cursor:pointer;color:#3d3530;background:#fffdf9;border:1px solid #d5cdc2;border-radius:8px;padding:.45rem .85rem;font-family:Inter,sans-serif;font-size:.9rem;transition:all .2s}.btn:hover{background:#f5efe8}.btn-primary{color:#f5efe8;background:linear-gradient(135deg,#2c4a3e 0%,#3d6b5a 100%);border-color:#2c4a3e}.btn-primary:hover{background:linear-gradient(135deg,#234038 0%,#2c4a3e 100%)}.btn-danger{color:#b54a3f;border-color:#d4a29c}.btn-danger:hover{background:#fdf0ee}.btn-sm{padding:.25rem .6rem;font-size:.8rem}.btn-full{width:100%;padding:.65rem}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{flex-direction:column;gap:.3rem;margin-bottom:.85rem;display:flex}.form-group label{color:#6b5e53;font-size:.85rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:#fffdf9;border:1px solid #d5cdc2;border-radius:8px;width:100%;padding:.55rem .65rem;font-family:Inter,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#b8935a;outline:none;box-shadow:0 0 0 3px #b8935a26}.form-group textarea{resize:vertical}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.error-msg{color:#b54a3f;background:#fdf0ee;border-left:3px solid #b54a3f;border-radius:8px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.85rem}.info-msg{color:#2c4a3e;background:#edf5f0;border-left:3px solid #3d6b5a;border-radius:8px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.85rem}.profile-page{max-width:500px;margin:0 auto;padding:1rem 1rem 5rem}.profile-header{flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 0;display:flex}.profile-avatar-wrapper{cursor:pointer;width:88px;height:88px;position:relative}.profile-avatar{object-fit:cover;border:3px solid #d4c5b0;border-radius:50%;width:88px;height:88px}.profile-avatar-placeholder{color:#fff;background:linear-gradient(135deg,#2c4a3e,#3d6b5a);justify-content:center;align-items:center;font-family:Philosopher,serif;font-size:2rem;font-weight:700;display:flex}.profile-avatar-overlay{background:#2c4a3e;border:2px solid #faf8f5;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;bottom:0;right:0}.profile-avatar-overlay svg{width:14px;height:14px}.profile-name{color:#2c4a3e;cursor:pointer;font-family:Philosopher,serif;font-size:1.4rem}.profile-name-edit{flex-direction:column;align-items:center;gap:.5rem;display:flex}.profile-name-input{text-align:center;color:#2c4a3e;background:#fff;border:1px solid #d4c5b0;border-radius:8px;padding:.4rem .8rem;font-family:Philosopher,serif;font-size:1.2rem}.profile-name-actions{gap:.5rem;display:flex}.profile-role{color:#a69d93;font-size:.85rem}.profile-section{margin-bottom:1.25rem}.profile-section-title{color:#8a7a6a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;padding-left:.25rem;font-family:Philosopher,serif;font-size:.9rem}.profile-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #2c4a3e0f}.profile-item{cursor:pointer;border-bottom:1px solid #f0ebe4;justify-content:space-between;align-items:center;padding:.85rem 1rem;transition:background .15s;display:flex}.profile-item:last-child{border-bottom:none}.profile-item:active{background:#f5f0ea}.profile-item-label{color:#3d3530;font-size:.9rem}.profile-item-value{color:#a69d93;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.profile-item-arrow{color:#c4b9ab;font-size:1.2rem;font-weight:300}.profile-item-danger .profile-item-label{color:#c0392b}.profile-item-disabled{cursor:default;opacity:.6}.profile-item-disabled:active{background:0 0}.profile-toggle{background:#d4d0cc;border-radius:12px;width:44px;height:24px;transition:background .3s;position:relative}.profile-toggle-on{background:#2c4a3e}.profile-toggle-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .3s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.profile-toggle-on .profile-toggle-knob{transform:translate(20px)}.profile-password-form{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.profile-password-form input{background:#faf8f5;border:1px solid #d4c5b0;border-radius:8px;padding:.6rem .8rem;font-size:.9rem}.profile-password-actions{gap:.5rem;display:flex}.profile-logout-btn{color:#c0392b;cursor:pointer;background:#fff;border:none;border-radius:12px;width:100%;padding:.85rem;font-size:.95rem;font-weight:500;transition:background .15s;box-shadow:0 1px 4px #2c4a3e0f}.profile-logout-btn:active{background:#fdf2f0}.header-username{color:#d4c5b0;font-size:.85rem;font-weight:500}.header-avatar{cursor:pointer;background:#ffffff26;border:2px solid #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.header-avatar-img{object-fit:cover;width:100%;height:100%}.header-avatar-initial{color:#f5efe8;font-family:Philosopher,serif;font-size:.8rem;font-weight:600}.page-enter{animation:.25s ease-out pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loading-skeleton{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.skeleton-block{background:linear-gradient(90deg,#efe9e1 25%,#f5efe8 50%,#efe9e1 75%) 0 0/200% 100%;border-radius:10px;height:40px;animation:1.5s infinite shimmer}.skeleton-sm{width:60%;height:24px}.skeleton-lg{height:120px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pull-refresh-indicator{justify-content:center;padding:.75rem 0;animation:.2s fadeIn;display:flex}.pull-refresh-spinner{border:2px solid #d4c5b0;border-top-color:#2c4a3e;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-back{color:#3d3530;cursor:pointer;background:0 0;border:1px solid #d4c5b0;border-radius:8px;align-items:center;gap:.25rem;padding:.35rem .75rem;font-size:.85rem;display:flex}.btn-back:active{background:#f0ebe4}.bottomsheet-overlay{z-index:2000;background:#0006;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.bottomsheet{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:500px;padding:1rem 1.5rem 2rem;animation:.3s slideUp}.bottomsheet-handle{background:#d4d0cc;border-radius:2px;width:36px;height:4px;margin:0 auto 1rem}.bottomsheet-title{color:#2c4a3e;margin-bottom:.5rem;font-family:Philosopher,serif;font-size:1.1rem}.bottomsheet-message{color:#8a7a6a;margin-bottom:1.25rem;font-size:.9rem;line-height:1.4}.bottomsheet-actions{gap:.75rem;display:flex}.bottomsheet-btn{cursor:pointer;border:none;border-radius:10px;flex:1;padding:.75rem;font-size:.9rem;font-weight:500}.bottomsheet-btn:first-child{color:#3d3530;background:#f0ebe4}.bottomsheet-btn-confirm{color:#fff;background:#2c4a3e}.bottomsheet-btn-danger{color:#fff;background:#c0392b}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.gallery-overlay{z-index:2000;background:#000000f2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gallery-close{cursor:pointer;z-index:10;background:0 0;border:none;padding:8px;position:absolute;top:12px;right:12px}.gallery-close svg{width:24px;height:24px}.gallery-image-container{flex:1;justify-content:center;align-items:center;width:100%;padding:3rem 1rem;display:flex}.gallery-image{object-fit:contain;border-radius:4px;max-width:100%;max-height:100%}.gallery-dots{gap:6px;padding:.75rem;display:flex}.gallery-dot{cursor:pointer;background:#ffffff4d;border-radius:50%;width:8px;height:8px;transition:background .2s}.gallery-dot-active{background:#fff}.gallery-arrow{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;padding:.5rem 1rem;font-size:2rem;position:absolute;top:50%;transform:translateY(-50%)}.gallery-arrow-left{left:8px}.gallery-arrow-right{right:8px}.gallery-counter{color:#ffffff80;padding-bottom:1rem;font-size:.8rem}.gallery-bottom-bar{justify-content:center;align-items:center;gap:1rem;padding:.75rem;display:flex}.save-confirmation{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;animation:.3s pageEnter;display:flex}.save-confirmation-icon{color:#fff;background:#2c4a3e;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:2rem;animation:.4s checkPop;display:flex}@keyframes checkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.save-confirmation h2{color:#2c4a3e;font-family:Philosopher,serif}.notifications-page{max-width:500px;margin:0 auto;padding:1rem 1rem 5rem}.notifications-list{flex-direction:column;gap:.5rem;display:flex}.notification-item{cursor:pointer;background:#fff;border-radius:12px;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;transition:background .15s;display:flex;position:relative;box-shadow:0 1px 3px #2c4a3e0f}.notification-item:active{background:#f5f0ea}.notification-unread{background:#f0f7f4;border-left:3px solid #2c4a3e}.notification-icon{border-radius:10px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;margin-top:2px;display:flex}.notification-icon svg{width:18px;height:18px}.notification-icon-issue{color:#d4a574;background:#fef3e2}.notification-icon-issue svg{stroke:#d4a574}.notification-content{flex:1;min-width:0}.notification-title{color:#3d3530;margin-bottom:.15rem;font-size:.9rem;font-weight:500}.notification-body{color:#8a7a6a;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.notification-time{color:#b5a99a;margin-top:.25rem;font-size:.7rem}.notification-dot{background:#2c4a3e;border-radius:50%;width:8px;min-width:8px;height:8px;margin-top:8px}.bottom-nav-alerts{position:relative}.nav-badge{color:#fff;background:#c0392b;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.6rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-2px;right:50%;transform:translate(14px)}.cropper-overlay{z-index:2000;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cropper-modal{flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;display:flex}.cropper-viewport{cursor:grab;background:#1a1a1a;border-radius:50%;width:240px;height:240px;position:relative;overflow:hidden}.cropper-viewport:active{cursor:grabbing}.cropper-image{pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;position:absolute;top:0;left:0}.cropper-circle{pointer-events:none;border:2px solid #ffffff80;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 9999px #0006}.cropper-actions{gap:.75rem;display:flex}.cropper-actions .btn{min-width:80px}.cropper-actions .btn-sm:not(.btn-primary){color:#fff;background:#ffffff26;border-color:#ffffff4d}.toast{z-index:1000;border-radius:8px;padding:.6rem 1.2rem;font-size:.85rem;animation:.3s toastIn;position:fixed;top:60px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.toast-success{color:#fff;background:#2c4a3e}.toast-error{color:#fff;background:#c0392b}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.login-page{background:linear-gradient(160deg,#2c4a3e 0%,#1a3028 40%,#3d6b5a 100%);justify-content:center;align-items:center;height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.login-page:before{content:"";background:radial-gradient(at 30% 20%,#b8935a26 0%,#0000 60%),radial-gradient(at 70% 80%,#e8d5b51a 0%,#0000 50%);position:absolute;inset:0}.login-card{background:#fffdf9f7;border:1px solid #e8d5b54d;border-radius:16px;width:100%;max-width:380px;padding:2.5rem 2rem;position:relative;box-shadow:0 16px 48px #00000040}.login-card h1{text-align:center;color:#2c4a3e;letter-spacing:.02em;margin-bottom:1.5rem;font-family:Philosopher,serif;font-size:1.4rem;font-weight:600}.login-logo{border-radius:8px;width:80px;height:auto;margin:0 auto 1rem;display:block}.login-lang{text-align:center;margin-top:1rem}.login-lang-toggle{color:#3d3530;background:#f5efe8;border-color:#d5cdc2}.login-lang select{background:#fffdf9;border:1px solid #d5cdc2;border-radius:6px;padding:.3rem .5rem;font-family:Inter,sans-serif}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.2rem;display:flex}.page-header h2{color:#2c4a3e;font-family:Philosopher,serif;font-size:1.4rem;font-weight:600}.header-actions{gap:.5rem;display:flex}.room-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;display:grid}.room-cell{aspect-ratio:1;cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.room-cell:hover{transform:scale(1.08);box-shadow:0 4px 16px #3c32281f}.room-cell:active{transform:scale(.95)}.room-ok{color:#a8b5a8;background:#f2f5f2;border:1px solid #e0e8e0}.room-defects{color:#8a6d2b;background:#f5edd5;border:1px solid #e8dbb5;box-shadow:0 2px 6px #8a6d2b1a}.room-high{color:#8a5a2b;background:#f5e0d0;border:1px solid #e8c8a5;box-shadow:0 2px 8px #8a5a2b26}.room-critical{color:#8b3a32;background:#f5dcd8;border:1px solid #e8c4be;box-shadow:0 2px 8px #8b3a3226}.room-number{font-size:.9rem}.room-badge{color:#fff;background:#b54a3f;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.65rem;display:flex;position:absolute;top:2px;right:2px}.room-legend{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.legend-item{color:#6b5e53;align-items:center;gap:.3rem;font-size:.85rem;display:flex}.legend-dot{border-radius:4px;width:14px;height:14px;display:inline-block}.legend-dot.room-ok{background:#f2f5f2;border:1px solid #e0e8e0}.legend-dot.room-defects{background:#f5edd5;border:1px solid #e8dbb5}.legend-dot.room-critical{background:#f5dcd8;border:1px solid #e8c4be}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.filters input,.filters select{background:#fffdf9;border:1px solid #d5cdc2;border-radius:8px;padding:.4rem .6rem;font-family:Inter,sans-serif;font-size:.9rem}.filter-input{width:100px}.defect-cards{flex-direction:column;gap:.6rem;display:flex}.defect-card{cursor:pointer;background:#fffdf9;border:1px solid #e8ddd0;border-radius:10px;padding:.85rem 1rem;transition:box-shadow .2s,transform .15s}.defect-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #3c322814}.defect-card-header{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.defect-room{color:#8c7e72;font-size:.8rem;font-weight:600}.defect-title{color:#3d3530;margin-bottom:.4rem;font-size:1rem}.defect-card-meta{flex-wrap:wrap;gap:.5rem;font-size:.8rem;display:flex}.defect-category,.defect-assignee{color:#8c7e72}.defect-date{color:#a69d93}.history-card{opacity:.75;border-left:3px solid #c8d8c8}.priority-badge{border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.priority-low{color:#3d6b3a;background:#e0ebd7}.priority-medium{color:#8a6d2b;background:#f5edd5}.priority-high{color:#8a4e2b;background:#f0d9c4}.priority-critical{color:#8b3a32;background:#f5dcd8}.status-badge{border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.status-open{color:#2c4a3e;background:#dce8e0}.status-in_progress{color:#8a6d2b;background:#f5edd5}.status-resolved{color:#3d6b3a;background:#e0ebd7}.status-actions{flex-wrap:wrap;gap:.3rem;display:flex}.status-active{font-weight:700}.status-active.status-open{background:#c5d8cc;border-color:#2c4a3e}.status-active.status-in_progress{background:#eddeb5;border-color:#b8935a}.status-active.status-resolved{background:#c8dcc2;border-color:#3d6b3a}.defect-detail-card{background:#fffdf9;border:1px solid #e8ddd0;border-radius:12px;margin-bottom:1rem;padding:1.2rem}.defect-detail-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.defect-detail-header h2{color:#2c4a3e;font-family:Philosopher,serif}.defect-info-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem;display:grid}.info-item label{color:#8c7e72;margin-bottom:.15rem;font-size:.8rem;display:block}.info-item span{color:#3d3530;font-weight:500}.defect-description{border-top:1px solid #e8ddd0;margin-top:1rem;padding-top:1rem}.defect-description label{color:#8c7e72;margin-bottom:.3rem;font-size:.8rem;display:block}.defect-description p{color:#4a4340;line-height:1.6}.section-card{background:#fffdf9;border:1px solid #e8ddd0;border-radius:12px;margin-bottom:1rem;padding:1.2rem}.section-card h3{color:#2c4a3e;margin-bottom:.75rem;font-family:Philosopher,serif;font-size:1rem}.comments-list{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.comment{background:#f5efe8;border-radius:8px;padding:.6rem .75rem}.comment-header{color:#6b5e53;justify-content:space-between;align-items:center;margin-bottom:.25rem;font-size:.85rem;display:flex}.comment-actions{align-items:center;gap:.4rem;display:flex}.comment-time{color:#a69d93;font-size:.75rem}.comment-delete{color:#a69d93;cursor:pointer;opacity:0;background:0 0;border:none;padding:0 .2rem;font-size:1.1rem;line-height:1;transition:opacity .15s,color .15s}.comment:hover .comment-delete{opacity:1}.comment-delete:hover{color:#b54a3f}@media (hover:none){.comment-delete{opacity:1}}.comment p{color:#3d3530;font-size:.9rem;line-height:1.5}.comment-form{align-items:flex-end;gap:.5rem;display:flex}.comment-form textarea{resize:none;background:#fffdf9;border:1px solid #d5cdc2;border-radius:8px;flex:1;padding:.5rem .65rem;font-family:Inter,sans-serif;font-size:.9rem}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}.photos-grid img{aspect-ratio:1;object-fit:cover;border:1px solid #e8ddd0;border-radius:8px;width:100%}.photo-thumb{cursor:pointer;position:relative}.photo-thumb:hover{opacity:.85}.photo-delete-btn{color:#fff;cursor:pointer;opacity:0;background:#b54a3fd9;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;line-height:1;transition:opacity .2s;display:flex;position:absolute;top:4px;right:4px}.photo-thumb:hover .photo-delete-btn{opacity:1}@media (hover:none){.photo-delete-btn{opacity:1}}.photo-upload{margin-top:.5rem}.lightbox{z-index:1000;background:#1a1612eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-content{justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.lightbox-content img{object-fit:contain;border-radius:6px;max-width:90vw;max-height:85vh}.lightbox-close{color:#e8d5b5;cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1;position:absolute;top:-2rem;right:-.5rem}.lightbox-arrow{color:#e8d5b5;cursor:pointer;background:#e8d5b526;border:none;border-radius:50%;padding:.5rem .75rem;font-size:2.5rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{background:#e8d5b54d}.lightbox-prev{left:-3.5rem}.lightbox-next{right:-3.5rem}.lightbox-bottom-bar{justify-content:center;align-items:center;gap:1rem;display:flex;position:absolute;bottom:-2.5rem;left:0;right:0}.lightbox-counter{color:#e8d5b5b3;font-size:.85rem}.lightbox-delete{padding:.25rem .75rem;font-size:.75rem}@media (width<=640px){.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-arrow{padding:.3rem .6rem;font-size:2rem}.lightbox-close{position:fixed;top:.5rem;right:.5rem}}.user-list{flex-direction:column;gap:.6rem;display:flex}.user-card{background:#fffdf9;border:1px solid #e8ddd0;border-radius:10px;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.user-meta{color:#8c7e72;font-size:.85rem}.user-card-right{align-items:center;gap:.75rem;display:flex}.role-select{background:#fffdf9;border:1px solid #d5cdc2;border-radius:6px;padding:.25rem .4rem;font-family:Inter,sans-serif;font-size:.85rem}.loading-screen,.loading{color:#a69d93;justify-content:center;align-items:center;min-height:200px;font-family:Philosopher,serif;font-style:italic;display:flex}.save-confirmation{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;animation:.3s fadeIn;display:flex}.save-confirmation-icon{color:#e8d5b5;background:linear-gradient(135deg,#3d6b5a 0%,#2c4a3e 100%);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1rem;font-size:2rem;display:flex;box-shadow:0 4px 16px #2c4a3e40}.save-confirmation h2{color:#2c4a3e;font-family:Philosopher,serif;font-weight:600}.empty-state-container{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:50vh;display:flex}.btn-lg{border-radius:12px;padding:.85rem 2rem;font-size:1.05rem;animation:2.5s ease-in-out infinite subtlePulse}@keyframes subtlePulse{0%,to{box-shadow:0 2px 8px #2c4a3e26}50%{box-shadow:0 4px 20px #2c4a3e4d}}.empty-state{text-align:center;color:#a69d93;padding:1rem;font-size:1rem;font-style:italic}.defect-form{background:#fffdf9;border:1px solid #e8ddd0;border-radius:12px;padding:1.2rem}.room-high{color:#8a4e2b;background:#f0d9c4;border:1px solid #e0c4a8}.legend-dot.room-high{background:#f0d9c4;border:1px solid #e0c4a8}.room-overdue-dot{color:#fff;background:#b54a3f;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:.55rem;font-weight:700;display:flex;position:absolute;bottom:2px;left:2px}.overdue-text{color:#b54a3f;font-weight:600}.dashboard-summary{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.2rem;display:grid}.stat-card{text-align:center;background:#fffdf9;border:1px solid #e8ddd0;border-radius:12px;padding:1rem}.stat-number{color:#2c4a3e;font-family:Philosopher,serif;font-size:1.8rem;font-weight:700}.stat-label{color:#8c7e72;margin-top:.2rem;font-size:.75rem}.stat-overdue .stat-number{color:#b54a3f}.stat-open .stat-number{color:#b8935a}.dashboard-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.dashboard-card{background:#fffdf9;border:1px solid #e8ddd0;border-radius:12px;padding:1rem}.dashboard-card h3{color:#2c4a3e;margin-bottom:.75rem;font-family:Philosopher,serif;font-size:.95rem}.dashboard-bars{flex-direction:column;gap:.5rem;display:flex}.bar-row{align-items:center;gap:.5rem;display:flex}.bar-label-fixed{color:#6b5e53;text-align:right;width:90px;min-width:90px;font-size:.78rem}.bar-label{color:#6b5e53;min-width:80px;font-size:.78rem}.bar-track{background:#f0ebe4;border-radius:4px;flex:1;height:8px;overflow:hidden}.bar-fill{border-radius:4px;height:100%;transition:width .8s}.bar-count{color:#3d3530;text-align:right;min-width:24px;font-size:.8rem;font-weight:600}.bar-critical{background:#b54a3f}.bar-high{background:#c87f4a}.bar-medium{background:#b8935a}.bar-low{background:#7a9e6e}.bar-dept{background:#3d6b5a}.week-comparison{border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.65rem 1rem;font-size:.85rem;font-weight:500;display:flex}.week-good{color:#2c5a3e;background:#e8f5e8}.week-bad{color:#8b3a32;background:#f5e8e8}.week-arrow{font-size:1.1rem}.urgent-list{flex-direction:column;display:flex}.urgent-item{cursor:pointer;border-bottom:1px solid #f0ebe4;align-items:center;gap:.75rem;padding:.7rem 0;display:flex}.urgent-item:last-child{border-bottom:none}.urgent-item:active{background:#f5f0ea;border-radius:8px;margin:0 -1rem;padding-left:1rem;padding-right:1rem}.urgent-priority{align-items:center;display:flex}.priority-dot{border-radius:50%;width:10px;height:10px}.priority-dot-critical{background:#b54a3f;box-shadow:0 0 6px #b54a3f66}.priority-dot-high{background:#c87f4a}.priority-dot-medium{background:#b8935a}.priority-dot-low{background:#7a9e6e}.urgent-content{flex:1;min-width:0}.urgent-title{color:#3d3530;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.urgent-meta{color:#a69d93;margin-top:.15rem;font-size:.75rem}.pie-chart-container{align-items:center;gap:1.5rem;display:flex}.pie-chart{width:100px;min-width:100px;height:100px;transform:rotate(-90deg)}.pie-segment{transition:stroke-dasharray .8s}.pie-legend{flex-direction:column;flex:1;gap:.4rem;display:flex}.pie-legend-item{align-items:center;gap:.5rem;font-size:.8rem;display:flex}.pie-legend-dot{border-radius:3px;width:10px;min-width:10px;height:10px}.pie-legend-label{color:#6b5e53;flex:1}.pie-legend-count{color:#3d3530;font-weight:600}.bar-room{background:#b8935a}.templates-section{margin-bottom:1rem}.templates-grid{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.template-chip{cursor:pointer;color:#3d3530;background:#fffdf9;border:1px solid #d5cdc2;border-radius:20px;padding:.35rem .7rem;font-family:Inter,sans-serif;font-size:.8rem;transition:all .15s}.template-chip:hover{background:#f5efe8;transform:scale(1.02)}.template-critical{color:#8b3a32;border-color:#d4a29c}.template-high{color:#8a4e2b;border-color:#e0c4a8}.template-medium{color:#8a6d2b;border-color:#e8dbb5}.template-low{color:#3d6b3a;border-color:#c8d8c8}.photo-upload{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}@media (width<=640px){.header{padding:.4rem .6rem}.logo{font-size:.95rem}.nav a{padding:.3rem .5rem;font-size:.8rem}.main{padding:.6rem .6rem 5rem}.form-row{grid-template-columns:1fr}.room-grid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:4px}.room-number{font-size:.75rem}.dashboard-summary{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.defect-info-grid{grid-template-columns:1fr}.page-header h2{font-size:1.15rem}}
