:root{--orange:#ff5a00;--orange2:#ff7a00;--ink:#151719;--muted:#6f7479;--line:#e7e9eb;--soft:#f5f6f7;--white:#fff;--green:#25b94b;--shadow:0 18px 55px rgba(20,25,30,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Segoe UI",sans-serif;color:var(--ink);background:#f4f5f6}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}em{color:var(--orange);font-style:normal}.reveal{animation:rise .65s cubic-bezier(.2,.8,.2,1) both}.delay-1{animation-delay:.12s}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.public-page{background:#fff}.public-shell{min-height:100vh;display:grid;grid-template-columns:minmax(300px,36%) 1fr;max-width:1600px;margin:auto;background:#fff;overflow:hidden}.hero-panel{position:relative;min-height:100vh;padding:28px 36px 38px;display:flex;flex-direction:column;overflow:hidden;background:#fff}.brand-logo{width:165px;height:auto;object-fit:contain;align-self:flex-start;z-index:4}.hero-photo{position:absolute;inset:0 0 0 27%;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.28) 26%,rgba(255,255,255,.06) 55%,rgba(255,255,255,.93) 100%),url('/static/plant-bg.jpg') center/cover no-repeat;filter:grayscale(1);opacity:.78;clip-path:polygon(32% 0,100% 0,100% 69%,82% 69%,52% 100%,0 100%,42% 57%)}.hero-copy{margin:auto 0 24px;max-width:300px;z-index:3}.hero-copy h1{font-size:clamp(29px,3vw,44px);line-height:1.12;margin:0;letter-spacing:-.035em}.orange-line{display:block;width:42px;height:3px;background:var(--orange);margin:18px 0}.hero-copy p{font-size:13px;line-height:1.55;color:#50555a;max-width:270px;margin:0}.hero-panel:after{content:"";position:absolute;right:-10%;bottom:-14%;width:85%;height:45%;background:linear-gradient(140deg,transparent 0 42%,rgba(255,90,0,.08) 42% 63%,transparent 63%);transform:skewX(-8deg);pointer-events:none}.form-wrap{padding:16px 26px 16px 12px;display:flex;align-items:center;background:linear-gradient(135deg,#f5f6f7 0%,#fff7f2 100%)}.request-card{width:100%;max-width:940px;margin:auto;background:#fff;border-radius:14px;padding:24px 26px 20px;box-shadow:0 16px 46px rgba(20,25,30,.12);border:1px solid rgba(0,0,0,.04)}.form-heading{display:flex;justify-content:space-between;gap:28px;align-items:center;margin-bottom:20px}.form-heading h2{margin:0;font-size:22px}.progress-block{display:grid;grid-template-columns:minmax(150px,220px) auto;gap:20px;align-items:center}.progress-block small{white-space:nowrap;color:#555;font-size:11px}.progress{width:100%;height:4px;background:#dedede;border-radius:8px;overflow:hidden}.progress span{display:block;height:100%;width:50%;background:var(--orange);transition:width .35s}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.request-card>label:not(.upload-box):not(.priority),.grid label,.login-card label,.edit-card label{display:block;margin-bottom:14px}.field-label{display:block;margin-bottom:7px;font-size:14px;font-weight:700;line-height:1.3}.field-req{display:inline;color:var(--orange);font-weight:700}.login-card label,.edit-card label{font-size:14px;font-weight:700}.login-card label>input,.edit-card label>input,.edit-card label>select,.edit-card label>textarea{margin-top:7px}input,select,textarea{width:100%;border:1px solid #d9dde0;border-radius:6px;background:#fff;padding:11px 12px;outline:none;transition:.2s;color:#202326;font-size:13px}select{appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236f7479' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}select:invalid{color:#8a8f94}textarea{resize:vertical;min-height:92px}input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,90,0,.09)}fieldset{border:0;padding:0;margin:0 0 14px}legend{font-size:14px;font-weight:700;margin-bottom:8px}.priority-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.priority input{position:absolute;opacity:0}.priority span{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #d9dde0;border-radius:8px;padding:14px 12px;font-size:15px;font-weight:700;cursor:pointer;transition:.2s;line-height:1}.priority-icon{width:22px;height:22px;flex-shrink:0;color:var(--orange)}.priority input:checked+span{border-color:var(--orange);background:rgba(255,90,0,.04);color:var(--orange)}.priority.danger input:checked+span{border-color:#f0a08f;background:#fff5ef;color:#c93b00}.priority.danger .priority-icon{color:#e55300}.priority.danger input:checked+span .priority-icon{color:#c93b00}.upload-title{font-size:12px;font-weight:700;margin:0 0 7px}.upload-title span{font-weight:400;color:var(--muted)}.upload-box{display:flex!important;align-items:center;gap:12px;border:1px solid #d9dde0;border-radius:6px;padding:11px!important;cursor:pointer;margin-bottom:14px!important}.upload-box input{display:none}.upload-box .camera{width:43px;height:37px;border-radius:5px;background:#eff0f1;display:grid;place-items:center;flex-shrink:0;position:relative}.upload-box .camera:before{content:"";width:18px;height:14px;border:2px solid #8d9399;border-radius:3px;display:block}.upload-box .camera:after{content:"";position:absolute;top:9px;left:50%;width:7px;height:7px;margin-left:-3px;border:2px solid #8d9399;border-radius:50%}.upload-box .upload-copy{display:grid;gap:2px}.upload-box .upload-copy b{font-size:13px;font-weight:700;color:var(--ink)}.upload-box small{font-weight:400;color:var(--muted);line-height:1.35}.submit-btn{border:0;width:100%;background:linear-gradient(90deg,#ff5500,#ff7200);color:#fff;border-radius:6px;padding:13px 18px;font-weight:800;display:grid;grid-template-columns:1fr auto;align-items:center;cursor:pointer;box-shadow:0 8px 18px rgba(255,90,0,.2);transition:.2s}.submit-btn:hover{transform:translateY(-1px);box-shadow:0 11px 22px rgba(255,90,0,.28)}.submit-btn.loading{opacity:.75;cursor:wait}.alert{padding:11px 13px;border-radius:7px;background:#fff1eb;color:#a83a00;border:1px solid #ffd2bd;margin-bottom:15px}.mobile-header{display:none}
.center-shell{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 20% 10%,rgba(255,90,0,.10),transparent 25%),#f5f6f7}.success-card,.login-card{width:min(100%,500px);background:#fff;border-radius:18px;padding:42px;text-align:center;box-shadow:var(--shadow)}.success-logo,.login-logo{width:190px;margin-bottom:30px}.success-check{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2fd15b,#1ca33f);color:#fff;font-size:42px;margin:0 auto 22px;animation:pop .45s .2s both}@keyframes pop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.success-card h1,.login-card h1{font-size:32px;margin:0 0 12px}.success-card p,.login-card p{color:var(--muted);line-height:1.55}.ticket-number{padding:20px;background:#fafafa;border:1px solid var(--line);border-radius:10px;margin:24px 0;display:grid;gap:5px}.ticket-number small{color:var(--muted)}.ticket-number strong{font-size:28px;color:var(--orange)}.link-btn{margin-top:24px}.login-card{text-align:left}.login-logo{display:block;margin-left:auto;margin-right:auto}.login-card .eyebrow,.login-card h1,.login-card>p{text-align:center}.back-link{display:block;text-align:center;color:var(--muted);font-size:13px;margin-top:20px}
.admin-layout{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#fff;border-right:1px solid var(--line);padding:25px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-logo{width:175px;margin:0 auto 26px}.side-title{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:0 12px 12px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:12px;border-radius:8px;font-size:14px;display:flex;justify-content:space-between}.sidebar nav a:hover,.sidebar nav a.active{background:#fff1e9;color:var(--orange)}.sidebar nav span{background:var(--orange);color:#fff;border-radius:12px;padding:2px 7px;font-size:11px}.logout{margin-top:auto;padding:0}.logout-form button,.logout-form.inline button{border:0;background:none;padding:12px;color:var(--muted);cursor:pointer;font:inherit}.logout-form.inline button{padding:0}.admin-main{padding:32px;min-width:0}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-header h1{margin:0;font-size:32px}.outline-btn{border:1px solid #d8dcdf;background:#fff;border-radius:8px;padding:11px 15px;cursor:pointer;font-weight:700}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.stat-row article{background:#fff;border-radius:12px;padding:19px;border:1px solid var(--line);display:flex;align-items:end;justify-content:space-between}.stat-row small{color:var(--muted)}.stat-row strong{font-size:28px}.filters{display:grid;grid-template-columns:1fr 220px auto;gap:12px;background:#fff;border:1px solid var(--line);padding:14px;border-radius:12px;margin-bottom:16px}.table-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1050px}th,td{text-align:left;padding:14px 13px;border-bottom:1px solid #eef0f1;font-size:13px}th{background:#f8f9f9;color:#666b70;font-size:11px;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:#fffaf7}.priority-badge,.status-badge{white-space:nowrap;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:700}.priority-badge{color:#e55300;background:#fff0e7}.status-badge{color:#0877c9;background:#e8f5ff}.s-в-работе{background:#fff3d7;color:#aa6900}.s-выполнена,.s-закрыта{background:#e6f8e9;color:#168237}.row-arrow{font-size:24px}.empty{text-align:center;color:var(--muted);padding:40px}
.detail-shell{min-height:100vh;background:#f4f5f6}.detail-top{height:74px;background:#fff;border-bottom:1px solid var(--line);padding:0 5vw;display:flex;align-items:center;justify-content:space-between}.detail-top img{width:170px}.detail-top a{font-size:13px;color:var(--muted)}.detail-grid{max-width:1200px;margin:auto;padding:35px 22px;display:grid;grid-template-columns:1.35fr .85fr;gap:20px}.detail-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:0 8px 30px rgba(20,25,30,.05)}.detail-title{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.detail-title h1{margin:0}.detail-card dl{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0}.detail-card dl div{display:grid;gap:5px}.detail-card dl .wide{grid-column:1/-1}.detail-card dt{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.detail-card dd{margin:0;line-height:1.55}.photo-link{margin-top:22px;display:grid;gap:10px}.photo-link img{width:100%;max-height:380px;object-fit:cover;border-radius:10px}.photo-link span{color:var(--orange);font-weight:700}.edit-card h2{margin-top:0}
@media(max-width:980px){.public-shell{grid-template-columns:1fr}.hero-panel{min-height:auto;padding:30px 24px}.brand-logo{display:none}.hero-copy{margin:20px 0 24px}.hero-copy h1{font-size:40px}.industrial-shape{opacity:.45}.form-wrap{padding:18px}.mobile-header{display:flex;height:70px;background:#fff;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.mobile-logo{width:160px}.admin-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:block}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar .logout,.side-title{display:none}.sidebar-logo{display:block}.admin-main{padding:18px}.stat-row{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}}
@media(max-width:620px){.hero-panel{padding-bottom:22px}.hero-copy h1{font-size:32px}.hero-copy p{font-size:15px}.form-wrap{padding:10px;background:#f4f5f6}.request-card{padding:18px;border-radius:12px}.grid.two,.priority-row{grid-template-columns:1fr}.form-heading{align-items:start}.progress{width:110px}.success-card,.login-card{padding:28px 20px}.admin-header{align-items:start;gap:12px}.admin-header .outline-btn{display:none}.stat-row{gap:8px}.filters{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr 1fr}.detail-card dl{grid-template-columns:1fr}.detail-card dl .wide{grid-column:auto}.detail-top{padding:0 15px}.detail-top img{width:135px}}
.delete-zone{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.delete-zone h3{margin:0 0 6px;font-size:14px;color:#a83a00}.delete-zone p{margin:0;font-size:12px;line-height:1.45;color:var(--muted)}.delete-form{margin-top:12px}.danger-btn{border:0;width:100%;background:#fff;border:1px solid #f0b2a0;color:#b42318;border-radius:6px;padding:13px 18px;font-weight:800;display:grid;grid-template-columns:1fr auto;align-items:center;cursor:pointer;transition:.2s}.danger-btn:hover{background:#fff1eb}.alert.success{background:#edf9f0;color:#1d6b34;border-color:#bfe8c9}
@media(max-width:980px){
  .public-shell{grid-template-columns:1fr}
  .hero-panel{min-height:260px;padding:24px 24px 28px}
  .brand-logo{display:none}
  .hero-photo{inset:0 0 0 38%;opacity:.62;clip-path:polygon(25% 0,100% 0,100% 100%,0 100%,25% 55%)}
  .hero-copy{margin:36px 0 0;max-width:420px}
  .hero-copy h1{font-size:34px}
  .hero-copy p{max-width:390px}
  .form-wrap{padding:18px}
  .mobile-header{display:flex;height:66px;background:#fff;align-items:center;justify-content:space-between;padding:11px 20px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
  .mobile-logo{width:150px}
}
@media(max-width:620px){
  .hero-panel{min-height:220px;padding:20px}
  .hero-photo{inset:0 0 0 48%;opacity:.42}
  .hero-copy{margin:20px 0 0;max-width:78%}
  .hero-copy h1{font-size:28px}
  .hero-copy p{font-size:13px}
  .form-wrap{padding:9px;background:#f4f5f6}
  .request-card{padding:17px;border-radius:10px}
  .grid.two,.priority-row{grid-template-columns:1fr}
  .form-heading{align-items:start;gap:14px}
  .progress-block{grid-template-columns:90px;gap:6px;justify-items:end}
  .progress-block small{font-size:10px}
  .upload-box span:last-child{grid-template-columns:1fr}
}
