:root{color:#172033;background:#eef2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{overflow-x:hidden}body{min-height:100vh;margin:0}button,input,select{font:inherit}img,svg{max-width:100%}.app{width:min(1440px,100% - 32px);margin:0 auto;padding:28px 0 48px}.auth-shell{background:radial-gradient(circle at 0 0,#4f7cff1f,#0000 35%),radial-gradient(circle at 100% 100%,#315bdc14,#0000 30%),#eef2f7;justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.auth-card{background:#fff;border:1px solid #e4ebf7;border-radius:28px;width:min(560px,100%);padding:36px;box-shadow:0 24px 60px #131d3a1a}.auth-header{gap:12px;margin-bottom:24px;display:grid}.auth-toggle{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.toggle-button{color:#172033;cursor:pointer;background:#f8faff;border:1px solid #d1d8e5;border-radius:14px;width:100%;padding:12px 14px;font-weight:700}.toggle-button.active{color:#fff;background:#315bdc;border-color:#315bdc}.auth-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.auth-error{color:#b42318;margin-top:16px;font-weight:700}.hero-actions{gap:10px;margin-top:16px;display:grid}.hero-actions span{color:#dbe6ff;font-size:14px}.hero-actions button{width:fit-content}.hero{color:#fff;background:radial-gradient(circle at 0 0,#4f7cff,#18233f 55%,#0d1325);border-radius:30px;justify-content:space-between;align-items:stretch;gap:24px;padding:32px;display:flex;box-shadow:0 24px 60px #131d3a40}.hero h1{letter-spacing:-1.5px;margin:4px 0 10px;font-size:clamp(32px,5vw,56px)}.hero p{color:#dbe6ff;max-width:720px;margin:0;line-height:1.6}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:12px;font-weight:800;color:#8fb3ff!important}.hero-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:24px;align-content:center;gap:8px;min-width:260px;max-width:100%;padding:22px;display:grid}.hero-badge strong{font-size:20px}.hero-badge span{color:#dbe6ff}.app-nav{background:#fff;border:1px solid #dfe7f2;border-radius:18px;flex-wrap:wrap;gap:10px;margin:18px 0 22px;padding:8px;display:flex;box-shadow:0 10px 24px #1e293b0f}.app-nav button{color:#667085;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:800;display:inline-flex}.app-nav button svg{color:currentColor}.app-nav button:hover{color:#172033;background:#f8faff}.app-nav button.active{color:#fff;background:#315bdc}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 22px;display:grid}.metric{background:#fff;border:1px solid #dfe7f2;border-radius:24px;gap:8px;min-width:0;padding:20px;display:grid;box-shadow:0 10px 24px #1e293b0f}.metric svg{color:#315bdc}.metric span{color:#667085;font-size:14px}.metric strong{letter-spacing:-.5px;font-size:24px}.grid{gap:18px;min-width:0;margin-bottom:18px;display:grid}.grid.two{grid-template-columns:1fr 1fr}.card{background:#fff;border:1px solid #dfe7f2;border-radius:26px;min-width:0;margin-bottom:18px;padding:22px;box-shadow:0 12px 30px #1e293b12}.card-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.card-title{align-items:center;gap:10px;display:flex}.card-title svg{color:#315bdc}h2{letter-spacing:-.2px;margin:0;font-size:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid.dense{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.maintenance-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.maintenance-summary div{background:#f8faff;border:1px solid #e6edf8;border-radius:16px;align-content:center;gap:4px;min-height:76px;padding:14px;display:grid}.maintenance-summary span{color:#667085;font-size:13px;font-weight:700}.maintenance-summary strong{color:#172033;font-size:26px;line-height:1}.danger-text{color:#b42318!important}.warning-text{color:#b54708!important}.success-text{color:#027a48!important}.maintenance-form{padding-bottom:4px}.maintenance-add{align-self:end;min-height:45px}.maintenance-suggestions{background:#f8faff;border:1px solid #e6edf8;border-radius:18px;gap:12px;margin-top:16px;padding:16px;display:grid}.maintenance-suggestions>div:first-child{gap:4px;display:grid}.maintenance-suggestions strong{color:#172033}.maintenance-suggestions span{color:#667085;font-size:13px}.maintenance-catalog-button{width:fit-content;min-height:45px}.maintenance-suggestion-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.maintenance-suggestion-list button{color:#172033;text-align:left;cursor:pointer;background:#fff;border:1px solid #d1d8e5;border-radius:14px;gap:4px;min-height:66px;padding:12px;display:grid}.maintenance-suggestion-list button:hover{border-color:#315bdc;box-shadow:0 0 0 4px #315bdc14}.maintenance-suggestion-list button strong{font-size:14px}.maintenance-catalog-modal{grid-template-rows:auto minmax(0,1fr);width:min(920px,100%);max-height:min(760px,100vh - 40px);display:grid}.maintenance-catalog-modal .modal-header{margin-bottom:14px}.maintenance-catalog-modal .modal-header>div{gap:4px;display:grid}.maintenance-catalog-modal .modal-header p{color:#667085;margin:0;line-height:1.5}.maintenance-catalog-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-right:6px;display:grid;overflow-y:auto}.maintenance-catalog-list button{color:#172033;text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe7f2;border-radius:16px;align-content:start;gap:7px;min-height:122px;padding:14px;display:grid}.maintenance-catalog-list button:hover{border-color:#315bdc;box-shadow:0 0 0 4px #315bdc14}.catalog-item-title{color:#172033;font-weight:800}.catalog-item-meta{color:#315bdc;font-size:13px;font-weight:800}.catalog-item-description{color:#667085;font-size:13px;line-height:1.45}.empty-state{color:#667085;text-align:center;background:#f8faff;border:1px dashed #cbd5e1;border-radius:18px;place-items:center;min-height:96px;margin-top:18px;padding:18px;font-weight:700;display:grid}.viewer-shell{background:#f8fbff;border:1px solid #dfe7f2;border-radius:24px;width:100%;min-height:340px;margin-bottom:18px;position:relative;overflow:hidden}.viewer-canvas{width:100%;height:100%;min-height:340px}.viewer-caption{color:#172033;background:#ffffffe6;border-radius:999px;padding:10px 14px;font-weight:700;position:absolute;bottom:18px;left:20px;box-shadow:0 10px 24px #1e293b14}.field{gap:7px;display:grid;position:relative}.field-label{color:#667085;cursor:help;font-size:13px;font-weight:700;display:inline-flex;position:relative}.field-label:after{content:attr(data-hint);color:#fff;white-space:normal;opacity:0;pointer-events:none;z-index:10;background:#0f172af2;border-radius:12px;min-width:200px;max-width:320px;padding:10px 12px;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 10px);left:0;transform:translateY(6px);box-shadow:0 14px 32px #0f172a33}.field-label:hover:after{opacity:1;transform:translateY(0)}input,select,.input{color:#172033;background:#f9fbff;border:1px solid #d1d8e5;border-radius:14px;outline:none;width:100%;min-width:0;padding:12px 13px}.input:focus,input:focus,select:focus{border-color:#315bdc;box-shadow:0 0 0 4px #315bdc1f}button,.button{cursor:pointer;border:0}.button{border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex}.button.primary{color:#fff;background:#315bdc;height:45px}.button.secondary{color:#172033;background:#f8fafc;border:1px solid #d1d8e5;height:45px}.button.icon{color:#596579;background:#eef2f7;border-radius:12px;width:36px;min-width:36px;height:36px;padding:0}.button.icon:hover{color:#d92d20;background:#ffe8e8}.button.paid{color:#027a48;background:#e8f7ef;border:1px solid #d1f1df}.progress-block{background:#f8faff;border:1px solid #e6edf8;border-radius:18px;margin-top:18px;padding:16px}.progress-label{color:#667085;justify-content:space-between;margin-bottom:8px;display:flex}.progress{background:#e6edf8;border-radius:99px;height:12px;overflow:hidden}.progress div{background:#315bdc;border-radius:99px;height:100%}.progress-block p{color:#667085;margin:10px 0 0}.modal-overlay{z-index:40;background:#0f172a8a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-window{background:#fff;border:1px solid #e4ebf7;border-radius:24px;width:min(640px,100%);padding:24px;box-shadow:0 24px 60px #131d3a2e}.modal-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.modal-header strong{font-size:18px}.modal-months{gap:10px;max-height:420px;display:grid;overflow-y:auto}.app-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-modal{text-align:center;gap:18px;width:min(440px,100%);padding:28px;display:grid;position:relative;overflow:hidden}.app-modal:before{content:"";background:#315bdc;height:6px;position:absolute;inset:0 0 auto}.app-modal.warning:before{background:#f59e0b}.app-modal.success:before{background:#12b76a}.app-modal-close{color:#667085;cursor:pointer;background:#fff;border:1px solid #e4ebf7;border-radius:12px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:14px;right:14px}.app-modal-close:hover{color:#172033;background:#f8faff}.app-modal-icon{color:#315bdc;background:#e8eefb;border-radius:20px;place-items:center;width:64px;height:64px;margin:4px auto 0;display:grid}.app-modal.warning .app-modal-icon{color:#b54708;background:#fff4d6}.app-modal.success .app-modal-icon{color:#027a48;background:#e8f7ef}.app-modal-content{gap:8px;display:grid}.app-modal-content strong{color:#172033;font-size:22px}.app-modal-content p{color:#667085;margin:0;line-height:1.6}.app-modal-action{width:100%}.month-button{color:#172033;cursor:pointer;text-align:left;background:#f8faff;border:1px solid #d1d8e5;border-radius:18px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:16px;display:flex}.month-button.paid{background:#e8f7ef;border-color:#cce9d8}.month-button span{font-weight:700}.month-button small{color:#667085}.month-button:hover{border-color:#315bdc}.table-wrap{margin-top:18px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:850px}th{text-align:left;color:#667085;border-bottom:1px solid #e6edf8;padding:12px;font-size:13px}td{vertical-align:middle;border-bottom:1px solid #edf2f8;padding:14px 12px}td small{color:#667085;margin-top:4px;display:block}.maintenance-table-wrap{border:1px solid #e6edf8;border-radius:18px}.maintenance-table{min-width:980px}.maintenance-table th{background:#f8faff}.maintenance-table th:first-child{border-top-left-radius:18px}.maintenance-table th:last-child{border-top-right-radius:18px}.maintenance-table td{background:#fff}.maintenance-table tr:last-child td{border-bottom:0}.maintenance-table td:last-child{text-align:right;width:54px}.pill{border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.pill.success{color:#027a48;background:#e8f7ef}.pill.warning{color:#b54708;background:#fff4d6}.pill.danger{color:#b42318;background:#ffe8e8}.list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.list li{background:#f8faff;border:1px solid #e6edf8;border-radius:16px;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding:12px;display:grid}.list.compact li{grid-template-columns:1fr auto auto}.list span{color:#667085;font-size:13px;display:grid}.list strong{color:#172033;font-size:15px}.mini{color:#b54708;background:#fff4d6;border-radius:12px;padding:8px 10px;font-weight:800}.mini.paid{color:#027a48;background:#e8f7ef}.logout-button{color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;height:42px;padding:0 18px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.logout-button:hover{color:#111827;background:#f3f4f6}.logout-button:active{transform:scale(.98)}@media (width<=980px){.hero,.grid.two{grid-template-columns:1fr;display:grid}.hero{align-items:start}.hero-badge{min-width:0}.metrics-grid,.maintenance-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.auth-card{border-radius:20px;padding:24px}.auth-actions,.auth-toggle{grid-template-columns:1fr}.maintenance-table-wrap{border:0;border-radius:0;overflow:visible}.maintenance-table{border-collapse:separate;border-spacing:0 12px;min-width:0}.maintenance-table thead{display:none}.maintenance-table,.maintenance-table tbody,.maintenance-table tr,.maintenance-table td{width:100%;display:block}.maintenance-table tr{background:#fff;border:1px solid #e6edf8;border-radius:16px;overflow:hidden;box-shadow:0 8px 18px #1e293b0a}.maintenance-table td{text-align:left;border-bottom:1px solid #edf2f8;grid-template-columns:minmax(88px,34%) minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;display:grid}.maintenance-table td:before{content:attr(data-label);color:#667085;text-transform:uppercase;font-size:12px;font-weight:800}.maintenance-table td:first-child{grid-template-columns:1fr;align-items:start}.maintenance-table td:first-child:before{display:none}.maintenance-table td:last-child{text-align:left;border-bottom:0;width:100%}.maintenance-table td:last-child .button{width:100%;height:42px}.maintenance-catalog-list{grid-template-columns:1fr}}@media (width<=640px){.app{width:min(100% - 16px,1440px);padding:8px 0 28px}.hero{border-radius:20px;gap:16px;padding:20px}.hero h1{letter-spacing:0;font-size:31px;line-height:1.08}.hero p{font-size:14px;line-height:1.5}.hero-badge{border-radius:16px;padding:16px}.hero-badge strong{overflow-wrap:anywhere;font-size:17px}.hero-actions button{width:100%}.app-nav{grid-template-columns:1fr;margin:12px 0 16px;display:grid}.app-nav button{width:100%}.card{border-radius:18px;margin-bottom:14px;padding:16px}.card-header{align-items:flex-start;gap:10px;margin-bottom:14px}h2{font-size:18px}.metric{border-radius:18px;padding:16px}.metric strong{overflow-wrap:anywhere;font-size:20px}.button.primary,.button.secondary,.maintenance-add{width:100%}.maintenance-suggestions{border-radius:14px;padding:12px}.maintenance-catalog-button{width:100%}.maintenance-catalog-modal{max-height:calc(100vh - 24px)}.maintenance-suggestion-list{grid-template-columns:1fr}.table-wrap{margin-top:14px}.metrics-grid,.form-grid,.maintenance-summary,.list li,.list.compact li{grid-template-columns:1fr}.list li{gap:8px;padding:10px}.modal-window{border-radius:18px;padding:18px}.modal-header{align-items:flex-start}}
