/* Визуальная модель интерфейса 1С:Предприятие. */
:root{--yellow:#ffeb98;--light-yellow:#fff2b9;--border:#c9c9c9;--line:#e5e5e5;--active:#fff1b5;--green:#009b5c;--text:#262d32;--nav:287px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:14px Arial,Helvetica,sans-serif;color:var(--text);background:#fff}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;color:#a1a1a1}.app{height:100vh;display:flex;flex-direction:column;min-height:480px;min-width:760px}.system-bar{height:40px;flex:none;display:flex;align-items:center;gap:12px;padding:0 17px;background:#fff0af;border-bottom:1px solid #decf91;white-space:nowrap}.brand{font:bold 25px Arial;color:#df3025;letter-spacing:-3px;padding-right:4px}.head-title{font-size:16px;color:#514c38}.header-space{flex:1}.head-search{height:29px;width:min(28vw,390px);display:flex;align-items:center;color:#b4ac84;background:#fff8d7;border:1px solid transparent;padding:0 8px;gap:7px}.head-user{font-size:13px;color:#746c4b}.tabs{height:41px;flex:none;background:#f8f8f8;display:flex;border-bottom:1px solid #bfbfbf;overflow-x:auto;scrollbar-width:thin}.tab{max-width:445px;min-width:120px;flex:none;display:flex;align-items:center;gap:7px;padding:0 10px 0 13px;border-right:1px solid #c3c3c3;border-bottom:3px solid transparent;white-space:nowrap;color:#353535;cursor:pointer;background:#f8f8f8}.tab.active{background:white;border-bottom-color:var(--green)}.tab-title{overflow:hidden;text-overflow:ellipsis;font-size:15px}.tab-x{font:bold 16px Arial;border:0;background:transparent;color:#555;padding:0 3px}.tab-x:hover{color:#b4271f}.workbench{min-height:0;flex:1;display:flex}.sidebar{width:var(--nav);min-width:var(--nav);background:var(--yellow);border-right:1px solid #d8c88b;display:flex;flex-direction:column}.sidebar-top{height:35px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e1d18f;color:#786e43;font-size:17px}.menu{min-height:0;overflow-y:auto;padding:15px 0}.menu-btn{width:100%;background:transparent;border:0;display:flex;gap:27px;align-items:center;text-align:left;padding:12px 22px 12px 43px;min-height:77px;color:#49463b;font-size:16px}.menu-btn:hover{background:#ffe27b}.menu-btn.current{background:#ffe37c}.menu-btn.current .menu-label{font-weight:bold}.sidebar.collapsed{width:72px;min-width:72px}.sidebar.collapsed .menu-btn{padding-left:24px;gap:0}.sidebar.collapsed .menu-label{display:none}.sidebar-bottom{height:32px;flex:none;display:flex;align-items:center;justify-content:center;border-top:1px solid #e1d18f;color:#786e43}.ic{width:19px;height:19px;flex:none;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.menu-btn .ic{width:23px;height:23px;color:#69634a;stroke-width:2.3}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:white}.main-content{flex:1;overflow:auto;position:relative}.page{padding:11px 16px 14px;min-width:780px}.page-head{display:flex;align-items:center;gap:11px;height:39px;margin-bottom:6px}.page-head h1{margin:0;font-size:23px;font-weight:400;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{min-height:31px;min-width:35px;padding:4px 8px;border:1px solid #bfc1c2;border-radius:2px;background:linear-gradient(#fff,#ededed);box-shadow:0 1px 1px #b5b5b5;display:inline-flex;align-items:center;justify-content:center;color:#626970}.icon-btn:hover,.action:hover{background:#f9f2d5}.icon-btn .ic{width:17px;height:17px}.nav-buttons{display:flex;align-items:center}.nav-buttons .icon-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.nav-buttons .icon-btn+ .icon-btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.favorite{font-size:33px;color:#d4dade;font-weight:normal;line-height:30px}.action{border:1px solid #b9b9b9;border-radius:2px;padding:7px 15px;line-height:19px;min-height:33px;background:linear-gradient(#fff,#f0f0f0);box-shadow:0 1px 1px #aaa;color:#383838;white-space:nowrap}.action.yellow{background:#ffda00;border-color:#b8a500;font-weight:bold}.action.yellow:hover{background:#ffdf41}.action.small{padding:5px 9px;min-height:30px}.action.muted{background:#f4f4f4}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.toolbar.right{justify-content:flex-end}.space{flex:1}.field{display:flex;align-items:center;gap:7px;white-space:nowrap}.field input,.field select,.search,.ctrl{height:32px;border:1px solid #c6c6c6;border-radius:2px;background:white;padding:5px 8px;color:#383838;box-shadow:inset 0 1px 1px #f4f4f4}.field input{width:320px}.field select{width:330px}.search{width:305px}.table-scroll{width:100%;overflow:auto;border:1px solid #d1d1d1;max-height:calc(100vh - 283px);min-height:230px}.datagrid{border-collapse:collapse;width:100%;min-width:970px;table-layout:fixed;font-size:15px}.datagrid th{background:#f1f1f1;text-align:left;font-weight:normal;border-right:1px solid #d3d3d3;border-bottom:1px solid #d3d3d3;padding:8px 10px;white-space:nowrap;height:39px}.datagrid td{border-right:1px solid #ededed;border-bottom:1px solid #ededed;padding:8px 10px;height:36px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.datagrid tr{cursor:pointer}.datagrid tbody tr:hover{background:#fff8db}.datagrid tbody tr.selected{background:#fff0b6}.datagrid .numeric{text-align:right;font-variant-numeric:tabular-nums}.datagrid .docicon{color:#9ca9b4;display:inline-flex;vertical-align:middle;margin-right:8px}.datagrid th.sortable{cursor:pointer}.datagrid th.sortable:hover{background:#e4e4e4}.sortmark{float:right;font-size:16px}.status{white-space:nowrap}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:11px 5px;font-size:12px;color:#7a7a7a}.pill-demo{display:inline-block;color:#866f28;background:#fff4ca;border:1px solid #eadba6;border-radius:2px;padding:3px 7px;font-size:12px}.section-layout{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:35px;margin:60px 30px}.section-title{color:#05a255;font-size:20px;font-weight:normal;margin:0 0 15px}.link-list{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.text-link{background:transparent;border:0;padding:0;color:#32383c;text-align:left}.text-link:hover{text-decoration:underline;color:#0077a8}.welcome{max-width:920px;margin:48px auto;color:#404040}.welcome-banner{border:1px solid #d8d8d8;background:#f7f7f7;min-height:175px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.welcome-banner strong{font-size:25px;font-weight:normal}.welcome-nav{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.welcome-tile{border:1px solid #dedede;background:#fffdf4;padding:23px;cursor:pointer;text-align:left;min-height:100px}.welcome-tile:hover{border-color:#d4b64a;background:#fff7d8}.welcome-tile strong{display:block;font-size:18px;margin-bottom:10px}.welcome-tile span{color:#656565}.detail-head{display:grid;grid-template-columns:minmax(570px,1fr) minmax(350px,38%);gap:40px;margin:13px 0 12px}.detail-fields{display:grid;grid-template-columns:135px minmax(200px,1fr);gap:10px 13px;align-items:center;min-width:0}.detail-fields .long{display:flex;gap:13px;align-items:center}.detail-fields input,.detail-fields select{height:33px;width:100%;border:1px solid #c8c8c8;border-radius:2px;padding:6px 8px;background:#fff;font-size:15px;color:#343434}.detail-fields .green{background:#d3ecc7;padding:5px 7px;margin:-5px -7px;grid-column:1 / -1;display:grid;grid-template-columns:135px minmax(100px,1fr);gap:13px;align-items:center}.detail-fields .inline-box{display:flex;gap:10px;align-items:center}.detail-fields .inline-box label{white-space:nowrap}.detail-fields .short{max-width:165px}.detail-fields .cyan-link{border:0;background:none;color:#2178ac;text-decoration:underline;padding:0 5px;white-space:nowrap}.detail-summary{display:grid;grid-template-columns:120px 1fr;gap:11px 13px;align-content:start;align-items:center}.detail-summary input,.detail-summary select{height:33px;width:100%;border:1px solid #c7c7c7;padding:5px 8px;background:#fff;font-size:14px}.detail-summary .price-link{color:#2178ac;text-decoration:underline;grid-column:2;cursor:pointer}.label-muted{color:#505050}.panel-tabs{display:flex;align-items:flex-end;border-bottom:1px solid #bfc1c0;margin-top:17px}.panel-tab{background:#eaeaea;border:1px solid #c6c6c6;padding:10px 16px;margin-bottom:-1px;color:#333}.panel-tab.active{background:#fff;border-bottom-color:#fff}.detail-table-box{padding:9px 13px 0;border:1px solid #c6c6c6;border-top:0}.detail-table-box .table-scroll{max-height:calc(100vh - 607px);min-height:155px}.detail-grid{min-width:1000px}.detail-grid td,.detail-grid th{font-size:14px;padding:7px 9px;height:34px}.detail-grid .selected td{background:#fff0b4}.total-bar{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:20px}.total-bar a{color:#237caf;text-decoration:underline;cursor:pointer}.total-box{display:flex;gap:28px;align-items:center;padding:14px 18px;background:#f1f1f1;color:#777;font-size:15px}.total-box strong{font-weight:normal;color:#303030;font-size:16px}.overlay{position:fixed;inset:0;background:#0004;display:flex;align-items:center;justify-content:center;z-index:10}.modal{width:min(530px,calc(100vw - 28px));background:#fff;border:1px solid #aaa;box-shadow:0 7px 34px #0004}.modal-head{background:#fff0b3;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;font-size:18px}.modal-body{padding:24px;font-size:15px;line-height:1.65}.modal-buttons{display:flex;justify-content:flex-end;gap:10px;padding:0 20px 20px}.modal-x{border:0;background:transparent;font-size:22px;color:#4b473c}.toast{position:fixed;right:18px;bottom:20px;z-index:8;background:#fff7d9;border:1px solid #d9c581;padding:11px 15px;box-shadow:0 2px 8px #0002;font-size:14px;max-width:380px}.subtle{font-size:12px;color:#878787}.right-detail{display:flex;gap:10px;justify-content:flex-end}.linkish{border:0;background:none;padding:0;color:#1879a9;text-decoration:underline;cursor:pointer}.checkbox{width:18px;height:18px;vertical-align:middle;accent-color:#f2d23b}.breadcrumb{font-size:12px;color:#999}.counterparties .datagrid{min-width:860px}.nofilter{padding:30px;text-align:center;color:#999}.products .datagrid{min-width:940px}@media(max-width:1060px){:root{--nav:220px}.menu-btn{gap:15px;padding-left:23px;min-height:62px}.detail-head{grid-template-columns:1fr;gap:17px}.detail-summary{grid-template-columns:135px 250px}.section-layout{gap:18px;margin:35px 10px}.head-title{font-size:14px}.header-space{min-width:20px}.head-search{width:190px}}@media(max-width:830px){:root{--nav:72px}.menu-btn{padding:15px 24px}.menu-btn .menu-label{display:none}.sidebar-top{visibility:hidden}.head-title{max-width:220px;text-overflow:ellipsis;overflow:hidden}.head-search{display:none}.page{min-width:690px}.section-layout{grid-template-columns:1fr 1fr}.tab-title{font-size:13px}}@media print{.system-bar,.tabs,.sidebar,.nav-buttons,.toolbar,.detail-table-box .toolbar,.panel-tabs,.icon-btn{display:none!important}.app,.workbench,.main,.main-content{overflow:visible;height:auto}.page{min-width:0}.table-scroll{overflow:visible;max-height:none}.detail-grid{min-width:0}.total-box{background:white}}

/* Авторизация через штатный users/auth-form. */
.login-screen { min-height: 100vh; display: grid; place-items: center; background: #f4f4f4; padding: 20px; }
.login-panel { width: min(100%, 430px); background: white; border: 1px solid #c9c9c9; box-shadow: 0 5px 20px #0001; padding: 28px 32px; }
.login-header { display: flex; align-items: center; gap: 20px; border-bottom: 1px solid #e4e4e4; padding-bottom: 12px; }
.login-header span { color: #606060; }
.login-panel h1 { font-size: 23px; font-weight: normal; margin: 22px 0 8px; }
.login-intro, .login-note { color: #707070; line-height: 1.5; }
.login-note { border-top: 1px solid #eee; padding-top: 14px; margin-bottom: 0; font-size: 12px; }
.login-captcha { padding: 8px 0; }
.tab button:focus-visible, .menu-btn:focus-visible, .action:focus-visible, .datagrid tr:focus-visible { outline: 2px solid #006db2; outline-offset: -2px; }

/* Выход через штатный user-card (POST /logout с CSRF). */
.app-user { position: fixed; right: 20px; top: 7px; z-index: 5; }
.app-user .user-control { display: flex; align-items: center; gap: 12px; font: 13px Arial,sans-serif; }
.app-user .user-control span { display: block; max-width: 175px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-user .user-control form { margin: 0; }
.app-user .user-control button { border: 0; background: transparent; padding: 5px 0; color: #655c39; cursor: pointer; }
.app-user .user-control button:hover { text-decoration: underline; }
@media (max-width: 1000px) { .app-user .user-control span { display: none; } }

/* Публичная форма входа и сообщения стандартного auth-form ky6. */
.login-panel .auth-form {display:grid;gap:13px;margin-top:20px}
.login-panel .auth-form .card__header {display:none}
.login-panel .auth-form .form-group {display:grid;gap:6px}
.login-panel .auth-form label {font-weight:600}
.login-panel .auth-form .input {display:block;width:100%;min-height:39px;border:1px solid #bdbdbd;border-radius:2px;padding:7px 10px}
.login-panel .auth-form .btn-primary {background:#ffda00;border:1px solid #b8a500;padding:9px 15px;min-height:38px;font-weight:600}
.login-panel .auth-form .alert-danger {padding:12px;border:1px solid #ad3434;background:#fff4f4;color:#8a1c1c}
.login-panel .auth-form .alert-success {padding:12px;border:1px solid #47875e;background:#eff9f1;color:#205d34}

/* Документы рабочего места: компактная форма и единая шапка 1С. */
.system-bar{padding-left:14px;gap:13px;height:44px;}
.head-title{font-size:16px;color:#323232;}
.header-actions{width:255px;flex:none;}
.app-user{right:18px;top:7px;max-width:265px;}
.app-user .user-control{gap:14px;font-size:14px;}
.app-user .user-control span{max-width:165px;color:#333;padding-right:12px;border-right:1px solid #d5c589;}
.app-user .user-control button{color:#343434;}
.app-user .user-control button:hover{color:#15744b;}
.sidebar{width:260px;min-width:260px;}
.menu{padding:12px 0;}
.menu-btn{min-height:65px;padding:12px 18px 12px 30px;gap:22px;font-size:15px;}
.menu-btn.current{border-left:3px solid #f9c900;padding-left:27px;}
.page{padding:16px 18px;}
.page-head{height:45px;margin-bottom:10px;}
.page-head h1{font-size:22px;}
.action{padding:7px 13px;min-height:34px;display:inline-flex;align-items:center;gap:7px;justify-content:center;}
.action .ic{height:17px;width:17px;}
.datagrid{font-size:14px;}
.datagrid td{height:33px;padding:6px 9px;}
.datagrid th{height:35px;padding:6px 9px;}
.invoice-edit .toolbar{margin:10px 0 17px;}
.invoice-fields{display:grid;grid-template-columns:122px minmax(230px,1fr) 125px minmax(185px,0.68fr);gap:12px 14px;align-items:center;margin:20px 0 25px;max-width:1420px;}
.invoice-fields label{font-size:14px;white-space:nowrap;}
.invoice-fields input,.invoice-fields select{width:100%;height:34px;padding:5px 10px;color:#333;border:1px solid #bbb;border-radius:2px;background:#fff;font-size:14px;min-width:0;}
.invoice-fields input:read-only{background:#f5f5f5;color:#606060;}
.invoice-fields select:focus,.invoice-fields input:focus,.invoice-lines input:focus,.invoice-lines select:focus{border-color:#c19f26;outline:1px solid #eac848;}
.invoice-lines-toolbar{padding:0;}
.invoice-lines-toolbar .subtle{font-size:12px;color:#747474;}
.invoice-lines{min-height:220px;max-height:calc(100vh - 610px);}
.invoice-lines .datagrid{min-width:850px;}
.invoice-lines .datagrid td{padding:3px 6px;height:39px;overflow:visible;}
.invoice-lines .datagrid input[type=radio]{width:15px;height:15px;cursor:pointer;}
.invoice-lines .datagrid .line-product,.invoice-lines .datagrid .line-amount{height:32px;background:#fff;border:1px solid #c5c5c5;padding:4px 7px;width:100%;max-width:100%;font-size:14px;border-radius:1px;}
.invoice-lines .datagrid .line-amount{text-align:right;font-variant-numeric:tabular-nums;}
.invoice-lines .datagrid td:nth-child(2){text-align:center;}
.invoice-lines .datagrid tr:has(input[type=radio]:checked){background:#fff2c0;}
.document-state{padding:6px 10px;border:1px solid #d1d1d1;background:#f7f7f7;color:#595959;font-size:12px;}
.document-state.is-posted{border-color:#badbc0;background:#eef8ef;color:#36663c;}
.invoice-notice{margin-bottom:12px;border:1px solid #d1a74d;padding:8px 12px;background:#fff8de;color:#54451d;}
.invoice-edit .total-box{background:#f6f6f6;border:1px solid #e0e0e0;padding:10px 16px;}
@media(max-width:1100px){.invoice-fields{grid-template-columns:112px 1fr;}.header-actions{width:220px;}.sidebar{width:215px;min-width:215px;}.menu-btn{padding-left:16px;gap:13px}.menu-btn.current{padding-left:13px}.invoice-lines .datagrid{min-width:740px}}
@media print{.invoice-edit .invoice-fields{grid-template-columns:115px 1fr 115px 1fr}.invoice-edit .document-state{display:none}}

/* Карточки справочников и выделение табличной строки по стандарту 1С. */
.directory-edit .toolbar{margin:7px 0 16px}
.directory-edit h2{font-size:16px;font-weight:normal;margin:24px 0 10px}
.directory-fields{display:grid;grid-template-columns:220px minmax(260px,660px);gap:11px 15px;align-items:center;max-width:900px;padding:8px 0 12px}
.directory-fields label{font-size:14px;color:#333}
.directory-fields input,.directory-fields select{height:33px;min-width:0;border:1px solid #bbb;background:#fff;color:#333;padding:5px 9px;font:14px Arial,sans-serif}
.directory-fields input:focus,.directory-fields select:focus{outline:1px solid #e6c548;border-color:#bc9d2f}
.directory-fields input:read-only{background:#f4f4f4}
.directory-note{font-size:12px;color:#606060;margin:6px 0 17px}
.directory-note code{font:12px monospace}
.invoice-lines .datagrid tr[data-select-line]{cursor:pointer}
.invoice-lines .datagrid tr[data-select-line].selected td{background:#ffedaa}
.invoice-lines .datagrid td:nth-child(2){text-align:left}
@media(max-width:780px){.directory-fields{grid-template-columns:160px 1fr}}

/* Компактная рабочая поверхность едина для списков и карточек. */
:root{--nav:192px}
.system-bar{height:40px;gap:10px}
.head-title{font-size:14px}
.header-actions{width:280px}
.app-user{top:5px;right:16px;max-width:275px}
.app-user .user-control{font-size:13px;gap:12px;min-height:30px}
.app-user .user-control span{max-width:160px}
.sidebar{width:var(--nav);min-width:var(--nav)}
.menu{padding:6px 0}
.menu-btn{min-height:42px;height:42px;padding:7px 12px 7px 17px;gap:11px;font-size:13px}
.menu-btn.current{padding-left:14px;border-left:3px solid #ecc31a}
.menu-btn .ic{width:17px;height:17px;flex-shrink:0}
.page{padding:11px 14px}
.page-head{height:40px;margin-bottom:8px}
.page-head h1{font-size:19px}
.action{min-height:30px;padding:5px 12px;font-size:13px}
.datagrid,.datagrid td,.datagrid th{font-size:13px}
.datagrid td{height:31px;padding:5px 8px}
.datagrid th{height:31px;padding:5px 8px}
.invoice-fields{margin:14px 0 18px;gap:9px 12px}
.invoice-fields label{font-size:13px}
.invoice-fields input,.invoice-fields select{height:30px;font-size:13px}
.invoice-lines .datagrid td{height:34px}
.invoice-lines .datagrid .line-product,.invoice-lines .datagrid .line-amount{height:29px;font-size:13px}
.invoice-lines .datagrid .selected td{background:#ffe9a0}
.invoice-lines .datagrid input[type=radio]{display:none}
.directory-fields{grid-template-columns:210px minmax(250px,620px);gap:9px 12px}
.directory-fields label{font-size:13px}
.directory-fields input,.directory-fields select{height:31px;font-size:13px}
@media(max-width:1100px){.sidebar{width:175px;min-width:175px}.menu-btn{padding-left:11px;font-size:12px;gap:8px}.menu-btn.current{padding-left:8px}.header-actions{width:225px}}
@media(max-width:830px){.sidebar{width:56px;min-width:56px}.menu-btn{justify-content:center;padding:8px}.menu-btn .menu-label{display:none}.page{min-width:700px}}
